1

文字列を操作して、その中の引用符 (") を取り出して取得しようとしてい<a href>ます<\a>...以前に尋ねられた場合は申し訳ありませんが、動作させることができません!ちなみに、私はからデータを投稿していますこれは基本的に html ですが、文字列の形式であり、画像やリンクなどの引用符を取り出したいです... もう 1 つのことは、引用符をエスケープしたくないということです。リンクを壊すでしょう...そして要点は、htmlを使用して正常に動作させることができるということです...しかし、今、何かが次のように、通常の引用符の中に2番目の引用符セットを自動的に作成しています:<a href="\"http://www.example.com/\""></a>

入力例は次のとおりです。 <p><a href="http://www.example.com">example</a></p>

ただし、エコーすると次のように表示されます。 <p><a href=\"http://www.example.com\">example</a></p>

これが私がどのように見せたいかです: <p><a href="http://www.example.com">example</a></p>

だから私は実際に私の悪い(/)を取り除こうとしているでしょう...

HERES HOW IMの使用方法:

リッチ テキスト エディターを使用して html を記述し、post メソッドを使用してフォームから送信していますが、二重引用符を付け続けています... RTE のソースを編集してすべての引用符を削除すると、リンクが機能することに気付きました...しかし、ユーザーにソースを表示して毎回実行させることはできないため、自動的に実行するソリューションが必要です...

4

4 に答える 4

1

わかりました..だから、次$result = stripslashes($string)のような正規表現で試してみることができます

$result = preg_replace( '/\\\\(?=")/', '', $string )

また

$result = preg_replace( '/\\\\"/', '"', $string )しかし、この場合はもっと良いでしょう$result = str_replace( '\\"', '"', $string )



編集:これは私にとってはうまくいきます

$input = '<p><a href=\"http://www.example.com\">example</a></p>';

echo htmlspecialchars($input) . '<br/>';

$output = preg_replace( '/\\\\(?=")/', '', $input );

echo htmlspecialchars($output) . '<br/>';
于 2012-10-27T10:59:59.820 に答える
0

以前の回答にはいくつか問題がありましたが、これでうまくいくはずです。

$string='<a href="gf">ahdasd"asjda</a>';
function replacequotes($matches){
return $matches[1].str_replace('"','',$matches[2]).$matches[3];
}
echo preg_replace_callback('/(<a href=)(.+?)(<\/a>)/','replacequotes',$string);

ここにデモンストレーションがあります: http://codepad.org/nXr7XTpx

于 2012-10-27T10:36:24.217 に答える
0

魔法の引用符がオンになっています。これは、これらのスラッシュを追加していると私が考えることができる唯一のものです。

http://php.net/manual/en/security.magicquotes.what.php

http://www.php.net/manual/en/security.magicquotes.disabling.php

于 2012-10-27T11:32:55.727 に答える
0

場所に関係なく、二重引用符のすべてのインスタンスを置き換えるだけの場合は、str_replace でもこれを行うことができます。

str_replace("\"", "", $string);

(バックスラッシュは、引用符を非リテラル文字として読み取るために使用されます)

もちろん、この方法の欠点は見境がないことですが、preg_matchなどの正規表現を使用したい場合と、部分文字列のすべてのインスタンスを単に置き換えたい場合があるため、これを投稿すると思いました文字列で。

于 2012-10-27T10:41:03.617 に答える