Preg соответствия арабского?

Я пытаюсь найти соответствие, ссылка на который наполовину на английском, наполовину на арабском.

Ссылка в качестве примера выглядит так:

"/<arabic>/123/<arabic>-<english>.html"

Основа preg_match('@<a href="/(.*?).html" >); возвращает все обратно, однако арабский в URL означает, что он больше не может быть идентифицирован на странице, возвращая "دانلود-رایÚ" например.

Я пытался некоторые вещи, которые я видел, такие как \p{Arabic} однако это ничего не возвращает. Есть ли способ, чтобы быть в состоянии захватить эти ссылки?

Это то, с чем я довольно озадачен и не могу найти пути решения этой проблемы.

Изменить, чтобы добавить preg матч & что я пытаюсь сопоставить.

preg_match_all('@<a href="/\p{Arabic}/(.*?)/\p{Arabic}-(.*?)" >@iu',$page,$link);

пример текста —

"a href="/دانلود-رایگان-کتاب/کتاب-های-خارجی/مطلب/2120-the-essential-financial.html"

2

Решение

Подумайте дважды, прежде чем использовать регулярное выражение для анализа HTML.

$doc = new DOMDocument();
$doc->loadHTML($yourHTML);

$links = $doc->getElementsByTagName('a');

foreach($links as $link){
echo $link->getAttribute('href');
}
0

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

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