如何使用它的文本从字符串在PHP
我有一个具有内容和锚标波纹管串删除锚点标记:如何使用它的文本从字符串在PHP
$string = 'I am a lot of text with <a href="#">links in it</a>';
,我想删除锚点标记,其文本(在它的链接)
我试图与strip_tags
但它仍然是锚文本字符串中,在那之后,我试图与preg_replace
这个例子:
$string = preg_replace('/<a[^>]+>([^<]+)<\/a>/i', '\1', $string);
,但得到与strip_tags
相同的结果。
我只是想删除锚标记后“我很多文字”。
有什么想法?
回答:
怎么样做爆炸。为了您上面的例子
$string = 'I am a lot of text with <a href="#">links in it</a>'; $string =explode("<a",$string);
echo $string[0];
回答:
一种方法是使用通配符.*
内<a
和a>
$string = 'I am a lot of text with <a href="#">links in it</a>'; $string = preg_replace('/ <a.*a>/', '', $string);
echo $string;
在多个锚occurence的情况下,你可以使用.*?
。使你的模式'/ <a.*?a>/'
回答:
<?php function strip_tags_content($text, $tags = '', $invert = FALSE) {
preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
$tags = array_unique($tags[1]);
if(is_array($tags) AND count($tags) > 0) {
if($invert == FALSE) {
return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);
}
else {
return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);
}
}
elseif($invert == FALSE) {
return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
}
return $text;
}
echo strip_tags_content('<a href="google.com">google.com</a>')
?>
Strip_tags_content是用来删除所有标签连同它的内容请参见PHP手册的第一条评论Strip Tags
回答:
,你可以简单地使用stristr()
这个(DEMO):
<?php $string = 'I am a lot of text with <a href="#">links in it</a> Lorem Ipsum';
//Get part before the <a
$stringBfr = stristr($string,'<a', true);
//get part after and along with </a>
$stringAftr = stristr($string,'</a>');
//Remove </a>
$stringAftr = str_replace('</a>', '', $stringAftr);
//concatenate the matched string.
$string = $stringBfr.$stringAftr;
var_dump($string);
以上是 如何使用它的文本从字符串在PHP 的全部内容, 来源链接: utcz.com/qa/261130.html