我试图预先匹配一个链接,其中一半是英文,一半是阿拉伯语。
链接作为示例如下:
"/<arabic>/123/<arabic>-<english>.html"
基本的preg_match('@<a href="/(.*?).html" >);
会返回所有内容,但是网址中的阿拉伯语意味着它不再可以识别页面,例如返回"دانلود-رایÚ"
。
我尝试过一些我曾见过的事情,例如\p{Arabic}
,但这并没有任何回报。有没有办法能够捕获这些链接?
这是我非常难过的事情,无法解决这个问题。
修改以添加preg match&amp;我想要匹配的东西。
preg_match_all('@<a href="/\p{Arabic}/(.*?)/\p{Arabic}-(.*?)" >@iu',$page,$link);
示例文字 -
"a href="/دانلود-رایگان-کتاب/کتاب-های-خارجی/مطلب/2120-the-essential-financial.html"
答案 0 :(得分:0)
在使用regex to parse HTML之前请三思。
$doc = new DOMDocument();
$doc->loadHTML($yourHTML);
$links = $doc->getElementsByTagName('a');
foreach($links as $link){
echo $link->getAttribute('href');
}