Как правильно передать арабскую строку через url (метод GET), чтобы найти подстроку с помощью php?

Я пытаюсь передать поисковый запрос на арабском языке через URL (метод get) следующим образом (пользователь нажимает на уменьшенное изображение):

<script>
function myClick2(clicked_id) {

window.location = clicked_id;
}</script>
<div class ="image">
<a href="javascript:myClick2('./test.php?SearchWord=خوخ')">
<img src="http://awebsite.com/Thumb0.jpg" alt=".." />
<figcaption><a href="javascript:myClick2('./test.php?SearchWord=خوخ')">خوخ </a> <br /></figcaption>
</a>
</div>

Вызов выглядит следующим образом после того, как пользователь щелкнет миниатюру на главной странице:

http://mywebsite.com/test.php?SearchWord=خوخ

но я не получаю вывод из сценария, и все, что я получаю, это:string(0) ""
Может кто-нибудь сказать мне, почему мой скрипт не выводит набор данных, который начинается с поискового слова خوخ?

<?php

$str = <<<'STR'
&#1578;&#1601;&#1575;&#1581;&#1577;:
<br><img src="http://asite.com/1.jpg"><br>
<a href="https://asite.com/1.html">&#1578;&#1601;&#1575;&#1581;&#1577;</a> <br />

<a href="http://asite.com/link.html">link1 </a> <br />
<a href="http://asite.com/link.html">link2 </a> <br />
<a href="http://asite.com/link.html">link3 </a> <br />
<a href="http://asite.com/link.html">link4 </a> <br />
<a href="http://asite.com/link.html">link5 </a> <br />

--------------------------------------<br>
Mango:
<br><img src="http://asite.com/1.jpg"><br>
<a href="https://asite.com/Mango.html">Mango</a> <br />

<a href="http://asite.com/linkMango.html">link1Mango </a> <br />
<a href="http://asite.com/linkMango.html">link2Mango </a> <br />
<a href="http://asite.com/linkMango.html">link3Mango </a> <br />
<a href="http://asite.com/linkMango.html">link4Mango </a> <br />
<a href="http://asite.com/linkMango.html">link5Mango </a> <br />

--------------------------------------<br>
&#1582;&#1608;&#1582;:
<br><img src="http://asite.com/1.jpg"><br>
<a href="https://asite.com/1.html">&#1582;&#1608;&#1582;</a> <br />

<a href="http://asite.com/linkpeach.html">link1&#1582;&#1608;&#1582; </a> <br />
<a href="http://asite.com/linkpeach.html">link2&#1582;&#1608;&#1582; </a> <br />
<a href="http://asite.com/linkpeach.html">link3&#1582;&#1608;&#1582; </a> <br />
<a href="http://asite.com/linkpeach.html">link4&#1582;&#1608;&#1582; </a> <br />
<a href="http://asite.com/linkpeach.html">link5&#1582;&#1608;&#1582; </a> <br />

--------------------------------------<br>
STR;$start = $_GET["SearchWord"];
$end = '--------------------------------------<br>';

function get_string_between($string, $start, $end) {
// make sure we escape all parts of the pattern
$start = preg_quote($start, '/');
$end= preg_quote($end, '/');

// create the pattern
$pattern = "/$start(.*?)$end/su"; // using s and u pattern modifiers

if (preg_match($pattern, $string, $match)) {
return $match[1];
}
}
echo "<pre>";
var_dump(htmlspecialchars(get_string_between($str, $start, $end)));
echo "<pre>";

?>

1

Решение

PHP имеет функцию под названием Iconv

Вы захотите закодировать любой арабский в ISO-8859-6 используя iconv.

Кодируйте его перед передачей в URL (когда они нажимают кнопку поиска), а затем декодируйте его в функции контроллера / формы.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]