私が正しく理解している場合は、文字列の左側と右側を検索する必要があります。その場合は、次の関数を使用できます。
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
?>
これは仲間のスタックオーバーフローから来ました! リンク