例えば:
$str="<name>ABCDE<age>45";
私は関数の使用を知っていますstrip_tags
.sringのすべてのタグを削除します. しかし、出力を次のように取得するために特定のタグのみを削除したい "ABCDE<age>45";
出来ますか?
例えば:
$str="<name>ABCDE<age>45";
私は関数の使用を知っていますstrip_tags
.sringのすべてのタグを削除します. しかし、出力を次のように取得するために特定のタグのみを削除したい "ABCDE<age>45";
出来ますか?
私は次のようにタスクを解決しました。有益な回答をありがとうございます。
$str_arr==preg_split("/<[^>]+>/", $str, 0, PREG_SPLIT_NO_EMPTY);
出力:
$str_arr[0]=ABCDE
$str_arr[1]=45
strip_tags()
と一緒に使用allowable_tags
:
$str="<name>ABCDE<age>45";
echo strip_tags($str, '<age>');
削除したいタグを配列に設定してから削除することができます。例えば:
$string = "<name>ABCDE<age>45";
$custom_tags = array('name');
$tags_length = sizeof($custom_tags);
for ($i = 0; $i < $tags_length; $i++) {
$string = str_replace("<" . $custom_tags[$i] . ">", "", $string);
}
strip_tagsのドキュメントを読む
string strip_tags(string $ str [、string $ allowable_tags])
必要に応じて、いくつかのタグを許可できます:http: //php.net/manual/en/function.strip-tags.php。
オプションのパラメータ[、string $ allowable_tags]で問題を解決できますか?!
strip_tags()
文字列から HTML と PHP タグを 取り除く
// Allow <p> and <a>
echo strip_tags($str, '<p><a>');
$str="<name>ABCDE<age>45";
あなたのコメントから 「ABCDE」として出してもらうことは可能ですか?substr
、はい、これは次のいずれかで実行できる可能性がありますpreg_match
echo substr($str,6,8); to get only ABCDE
また
あなたはこれを行うことができますpreg_match
$pattern = '/^ABCDE/';
preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE, 5);
print_r($matches);