我有一个像
这样的字符串$str = '<a href="http://www.example.com/example_link">This is the Example Link</a>';
我想从php中的上述字符串中获取href值(http://www.example.com/example_link)
和文本值(This is the Example Link)
如何从字符串中获取这些值,Any Efficient方式。我需要使用PHP DOM还是REGEX?
注意:字符串中可能会出现多个锚<a>
标记。
答案 0 :(得分:0)
如果您确定您的字符串将采用正确的xml格式,那么您可以使用 simplexml_load_string
试试这个
<?php
$str = '<a href="http://www.example.com/example_link">This is the Example Link</a>';
$xml = simplexml_load_string($str);
echo "<pre>";
print_r($xml);
?>
它会返回一个对象,你可以访问任何你想要的东西
答案 1 :(得分:0)
首先找到链接
` //正则表达式过滤器
$ reg_exUrl =“/(http|https | ftp | ftps):/ [@ zA-Z0-9-.] +。[ - zA-Z] {2,3}(/\ S*)? /“;
//您要为网址过滤的文字
$ text ='This is the Example Link';
//检查文本中是否有网址
if(preg_match($ reg_exUrl,$ text,$ url)){
$链接= $网址[0];
其他{
$ link ='发生了一些问题';
}
现在找到锚点之间的文字
$link_text = preg_replace('/<a.*?>/i', '', $text);
$link_text = preg_replace('/<\/a>/i', '', $link_text);
?>