0

PHP変数からHTMLに文字列を渡そうとしています

 <a href="javascript:deleteProduct('<?=addslashes($row['productName'])?>');"

問題はアポストロフィーにあります。文字列には、次の例のように、単一アポストロフィと二重アポストロフィ ' および " の両方が含まれる場合があります。

<a href="javascript:deleteProduct('Richdel, 2400\', 1\", fi fara solenoid');"

アポストロフィの不適切な使用、構文エラーのため、Javascript 関数はトリガーされません。\" が href 属性の値の末尾になるように処理します。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

2
<?= htmlentities(addslashes($row['productName'])) ?>

"s を に変換する&quot;ので、HTML に変換されます。

于 2011-03-08T12:48:21.337 に答える
0

単純な文字列置換により、両方のタイプの引用符が完全に削除されます。

<?php echo str_replace("'", '', str_replace('"', '', $row['product'])); ?>
于 2011-03-08T12:55:19.813 に答える