php锚定标记正则表达式
我有一组字符串,每个字符串包含一个锚标记和url 字符串exphp锚定标记正则表达式,php,regex,anchor,Php,Regex,Anchor,我有一组字符串,每个字符串包含一个锚标记和url 字符串ex here is a link <a href="http://www.google.com">http://www.google.com</a>. enjoy! href=部分中的URL并不总是与链接文本匹配(有时有缩短的URL,有时只是描述性文本) 我很难弄清楚如何使用正则表达式或php函数来实现这一点。如何从字符串解析整个锚定标记/链接 谢谢 您不应该使用html解析器 但是,如果您应该使用正则表达式,并
here is a link <a href="http://www.google.com">http://www.google.com</a>. enjoy!
href=部分中的URL并不总是与链接文本匹配(有时有缩短的URL,有时只是描述性文本)
我很难弄清楚如何使用正则表达式或php函数来实现这一点。如何从字符串解析整个锚定标记/链接
谢谢 您不应该使用html解析器
但是,如果您应该使用正则表达式,并且您的锚定标记内部内容保证不包含html,如
,并且每个字符串保证只包含一个锚定标记(如示例中所示),那么-只有这样-您可以使用如下内容:
替换/^(+)您不应该使用html解析器
但是,如果您应该使用正则表达式,并且您的锚定标记内部内容保证不包含html,如
,并且每个字符串保证只包含一个锚定标记(如示例中所示),那么-只有这样-您可以使用如下内容:
替换/^(+)因为您的问题似乎非常具体,我认为应该这样做:
$str = preg_replace('#\s?<a.*/a>#', '', $str);
$str=preg#u replace('#\s?#',''$str);
由于您的问题似乎非常具体,我认为应该这样做:
$str = preg_replace('#\s?<a.*/a>#', '', $str);
$str=preg#u replace('#\s?#',''$str);
只需使用普通的PHP字符串函数即可
$str='here is a link <a href="http://www.google.com">http://www.google.com</a>. enjoy!';
$s = explode("</a>",$str);
foreach($s as $a=>$b){
if( strpos( $b ,"href")!==FALSE ){
$m=strpos("$b","<a");
echo substr($b,0,$m);
}
}
print end($s);
只需使用普通的PHP字符串函数
$str='here is a link <a href="http://www.google.com">http://www.google.com</a>. enjoy!';
$s = explode("</a>",$str);
foreach($s as $a=>$b){
if( strpos( $b ,"href")!==FALSE ){
$m=strpos("$b","<a");
echo substr($b,0,$m);
}
}
print end($s);
看看您的结果示例,您似乎只是删除了标记/内容-您是否希望保留您删除的内容?如果不是,您可能正在寻找。查看您的结果示例,您似乎只是在删除标记/内容-您想保留您删除的内容吗?如果没有,您可能正在查找。$string='这里有一个链接。享受吧;
$text=strip_标记($string);
echo$文本//输出“这是一个链接,请欣赏!”
$string='这里有一个链接。享受吧;
$text=strip_标记($string);
echo$文本//输出“这是一个链接,请欣赏!”
$string = 'here is a link <a href="http://www.google.com">http://www.google.com</a>. enjoy!';
$text = strip_tags($string);
echo $text; //Outputs "here is a link . enjoy!"