Google 翻訳 API を使用しています。html文字列を送信しています。翻訳は正常に機能しますが、タグが台無しになっています。
例えば:
<b>Hello World</b>
になる
<b>Hello World</ b>
次のようなタグが返されることがあります。
<b>Hello World< / b >
PHPでの私の努力(それはうまくいきません)
preg_replace('~<(\s*)/(.*)(\s*)>~is', '</$2>', $string);
Google 翻訳 API を使用しています。html文字列を送信しています。翻訳は正常に機能しますが、タグが台無しになっています。
例えば:
<b>Hello World</b>
になる
<b>Hello World</ b>
次のようなタグが返されることがあります。
<b>Hello World< / b >
PHPでの私の努力(それはうまくいきません)
preg_replace('~<(\s*)/(.*)(\s*)>~is', '</$2>', $string);
あなたが使用することができます:
$string = preg_replace(',<\s*/\s*(\w+)\s*>,s', '</$1>', $string);
正規表現はこの正確な問題を解決することに注意してください。ただし、タグ内のスペースに対してのみ保護します。今後の HTML の問題からあなたを守りません。
これは今のところしか機能しませんが、無効な HTML を処理するSimple HTML DOMのような HTML パーサーを試すことができます。次に、ライブラリからクリーンアップされた HTML を取得できます。