1

例えば:

$str="<name>ABCDE<age>45";

私は関数の使用を知っていますstrip_tags.sringのすべてのタグを削除します. しかし、出力を次のように取得するために特定のタグのみを削除したい "ABCDE<age>45";

出来ますか?

4

5 に答える 5

2

私は次のようにタスクを解決しました。有益な回答をありがとうございます。

$str_arr==preg_split("/<[^>]+>/", $str, 0, PREG_SPLIT_NO_EMPTY);

出力:

$str_arr[0]=ABCDE
$str_arr[1]=45
于 2012-10-17T14:01:28.790 に答える
0

strip_tags()と一緒に使用allowable_tags

$str="<name>ABCDE<age>45";
echo strip_tags($str, '<age>');

コードパッドの例

于 2012-09-17T07:42:48.410 に答える
0

削除したいタグを配列に設定してから削除することができます。例えば:

$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);
}
于 2012-09-17T07:42:58.153 に答える
0

strip_tagsのドキュメントを読む

string strip_tags(string $ str [、string $ allowable_tags]

必要に応じて、いくつかのタグを許可できます:http: //php.net/manual/en/function.strip-tags.php
オプションのパラメータ[、string $ allowable_tags]で問題を解決できますか?!

于 2012-09-17T07:44:04.537 に答える
0

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);
于 2012-09-17T07:41:30.483 に答える