$find = '{
something
}';$str1 = "
{
something
}\r\ntextsomething else
";// or
$str2 = "
something
\r\n{something
}aat
\r\ntextsomething else
";基本上,$ find可以在字符串中的任何位置。新行分隔符是“\ r \ n”。如何从字符串中删除特定的html标签?
我需要在$ str中找到$ find,并在$特定字符串行的$ find附近删除特定的html标签。不应该从$ find中删除标签。
预计产出将是
// For $str1
$str1 = "{
something
}\r\ntextsomething else
";// For $str2
$str2 = "
something
\r\n{something
}aat\r\ntextsomething else
";的字符串可能会很长,所以没有正则表达式的解决方案吧。
我想通了:
$pos = strpos($str, $find);
if ($pos !== false) {
$contentLength = strlen($str);
$lineStart = (int)strrpos($str, "\r\n", -$contentLength+$pos); // cast false to 0 (start of string)
$lineEnd = strpos($str, "\r\n", $pos);
if ($lineEnd === false)
$lineEnd = strlen($str);
$lineLength = $lineEnd-$lineStart;
if ($lineLength < 0)
return;
var_dump(substr($str, $lineStart, $lineLength));
}
的转储字符串中的特定行。
2013-09-26
Dalius
+0
你可以给试图代码? –