2016-12-17 20 views
1

preg_replace phpを文字列のfont-familyスタイルを削除するにはどうすればいいですか?preg_replace phpを使用して文字列のフォントファミリースタイルを削除する方法は?

私はこのコードを使用しようとしましたが、動作しませんでした。どうやってやるの ?

<?PHP 
if(isset($_POST["submit"])) 
{ 
    $editor = $_POST['editor']; 
    $editor = preg_replace("#font-family(.*?)>(.*?);#is", "", $editor); 
    echo $editor; 
} 
?> 


<form class="form" method="post" action="" ENCTYPE = "multipart/form-data"> 
<textarea name="editor" style="margin: 0px;width: 415px;height: 30px;" ><p style="font-family: fantasy; font-size: 34px;">test</p></textarea> 
<br> 
<input type="submit" name="submit" value="OK"> 
</form> 
+0

"#"は何をすべきですか? – TigOldBitties

+0

@TigOldBitties 'preg_replace'は、正規表現の前後に区切り文字が必要です。どのキャラクターでもかまいませんが、彼は '# 'を使っています。 – Barmar

+0

@Barmarそれでもそれでも間違っています。私はそれを見たことがない。そして、最後には「何ですか?」私が言ったように、彼が提供した文脈では、それは私には意味をなさない。 – TigOldBitties

答えて

0
font-family.+?; 

はにマッチする 'フォントファミリ:ファンタジー;'あなたの場合。空の文字列で置き換えることができます。あなたの正規表現の文字列は私には意味がありません。

おそらくこれはあなたが私はあなたには、いくつかのトラブル正規表現を理解することを持っているようhttps://regex101.com/

が見えるそれを説明することができるよりも優れて間違っているかを理解するのに役立ちます。

LE:あなたのコードは以下のとおりです。

if(isset($_POST["submit"])) 
{ 
    $editor = $_POST['editor']; 
    $editor = preg_replace('/font-family.+?;/', "", $editor);; 
    echo $editor; 
} 
+0

警告:preg_replace():区切り文字は英数字またはバックスラッシュであってはなりません –

+0

$ editor = preg_replace( "font-family。+ ?;"、 ""、$ editor); –

+0

あなたは冗談だよね? preg_replace( '/ font-family。+?; /'、 ""、$ editor);ドキュメンテーションの読者を読んでください。 – TigOldBitties

関連する問題