PHP如何使用从右边开始的PHP拆分带有2个分隔符的字符串
我需要一个字符串分隔符(它是html),我需要提取一个子字符串,但我只有一个左边分隔符的函数:PHP如何使用从右边开始的PHP拆分带有2个分隔符的字符串,php,string,substring,delimiter,Php,String,Substring,Delimiter,我需要一个字符串分隔符(它是html),我需要提取一个子字符串,但我只有一个左边分隔符的函数: function ddd($str, $sLeft, $sRight) { $pleft = strpos($str, $sLeft, 0); $pright = strpos($str, $sRight, $pleft + strlen($sLeft)); return (substr($str, $pleft + strlen($sLeft), ($pright - ($pleft + strle
function ddd($str, $sLeft, $sRight)
{
$pleft = strpos($str, $sLeft, 0);
$pright = strpos($str, $sRight, $pleft + strlen($sLeft));
return (substr($str, $pleft + strlen($sLeft), ($pright - ($pleft + strlen($sLeft)))));
}
但我需要从右边($sRight)开始,以$sLeft结束。
谢谢 如果我理解正确,您需要从左边搜索字符串,也可以从右边搜索。如果是这种情况,您可以使用: PHP
<?php
// Function from php.net, see the link above.
// Starts searching the value from the right side
// of the string, returning the pos
function backwardStrpos($haystack, $needle, $offset = 0){
$length = strlen($haystack);
$offset = ($offset > 0)?($length - $offset):abs($offset);
$pos = strpos(strrev($haystack), strrev($needle), $offset);
return ($pos === false) ? (false) : ($length - $pos - strlen($needle));
}
$string = 'My string is this, and it is a good dialog';
echo backwardStrpos($string, "i"); // outputs 37
echo strpos($string, "i", 0); // outputs 6
?>
输出的图示版本:
<?php
$str = '<div><span class="some style bla bla assd dfsdf">ImportantText</span>';
echo strip_tags($str); //outputs: ImportantText
?>
编辑 您刚刚发表了一条与您正试图做的事情相关的评论 您可以使用:
<?php
$str = '<div><span class="some style bla bla assd dfsdf">ImportantText</span>';
echo strip_tags($str); //outputs: ImportantText
?>
编辑 要在HTML标记之间提取文本,请执行以下操作:
<?php
function getTextBetweenTags($string, $tagname) {
$pattern = "/<$tagname ?.*>(.*)<\/$tagname>/";
preg_match($pattern, $string, $matches);
return $matches[1];
}
$str = '<div><span class="some style bla bla assd dfsdf">ImportantText</span>';
$txt = getTextBetweenTags($str, "span");
echo $txt; // outputs: ImportantText
?>
你的问题是什么?如何在右边“分隔符”?试着给出一个输入和所需输出的示例我有:[一些html]ImportantText哇…这样一个模糊的问题…答案可能是“约克郡布丁”,我只需要在我的函数中从右边开始我有更多的文本,但只有一个在,我只需要这个在我的答案末尾看到我的最后一次编辑!通过这个小功能,您可以收集span或任何其他HTML标记之间的文本。