如何修剪字符串的一个非常特定的部分?



我有一个字符串,在用户输入的文本中包含一个<img>标记。我想去掉所有的文本,但保留image标签但我不知道怎么做,可能吗?

$str = "<img src= 'imagepath'/> Lorem ipsum dolor sit amet, consectetur adipiscing elit" 

我想要做的是保持和摆脱所有其他的文本,而是像这样:

$str = "<img src='imagepath'/>"

在字符串操作的帮助下,您可以通过以下方法在PHP中完成此操作。

$str = "<img src= 'imagepath'/> Lorem ipsum dolor sit amet, consectetur adipiscing elit";
$start=strpos($str, '<');
$end=strpos($str, '/>');
$img=substr($str, $start, $end-$start+1);

这里解决方案与捕获<>

$regex = '/<.*?>/m';
$str = "<img src='imagepath'> Lorem ipsum dolor sit amet, consectetur adipiscing elit";
preg_match($regex, $str, $result);
var_dump($result[0]);

输出为'<img src='imagepath'>'

提取标签的javascript方法:

只有当只有一个tag和没有额外的<>
可以使用任何字符串提取器,如substringsubstr....

var str = "<img src= 'imagepath'/> Lorem ipsum dolor sit amet, consectetur adipiscing elit"
function trimTagOut() {
var index1 = str.indexOf("<")
var index2 = str.indexOf(">")
var slicedTag = str.slice(index1, index2+1) 
document.getElementById("demo").innerHTML = slicedTag;
}
<button onclick="trimTagOut()">Trim tag</button>
<div id="demo"></div>

相关内容

最新更新