如果我理解正确,您需要在左侧和右侧搜索字符串。如果是这种情况,您可以使用此功能:
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 strip_tags:
<?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
?>
这来自一个同胞的stackoverflow!关联