コメントや他のユーザーが送信したコンテンツの基本的な文法をプログラムでクリーンアップしています。I、文の最初の文字などを大文字にします。ユーザーがテキストをフォーマットする際にいくつかのオプションがあるため、コメントとコンテンツはHTMLと混合されます。
これは、特にPHPや正規表現を初めて使用する人にとっては、予想よりも少し難しいことを実際に証明しています。
文を大文字にするのに役立つhtmlを無視するucfirstのような関数がある場合はどうなりますか?
また、htmlでこのようなテキストをクリーンアップするためのリンクやチュートリアルをいただければ幸いです。コメントに役立つと思われるものは何でも残してください。ありがとう!
編集:サンプルテキスト:
<div><p>i wuz walkin thru the PaRK and found <strong>ur dog</strong>. <br />i hoPe to get a reward.<br /> plz call or text 7zero4 8two8 49 sevenseven</div>
私はそれが(最終的に)である必要があります
<div><p>I was walking through the park and found <strong>your dog<strong>. <p>I hope to get a reward.</p><p> Please call or text (704) 828-4977.</p>
私はこれが意図した質問よりも少し進んでいることを知っていますが、私の考えはこれを段階的に行うことでした。ucfirst()は、スキャンごとに一度に1つの小さなクリーンアップを実行するために使用していた多くの関数の1つにすぎません。フィルタを介してテキストを100回実行する必要があったとしても、サイトにトラフィックがない場合、これはcron実行で実行されます。アプローチを継続する上でいくつかの素晴らしいアイデアがあることは明らかなので、これを継続できるディスカッションフォーラムがあればいいのにと思います。プロジェクト全体としてこれにどのように取り組むかについての考えは、ぜひコメントを残してください。
質問自体の精神で推測します。ucfirstは、無視するものの引数リストを取ることができなかったため、これに最適な関数ではありません。フラグIGNORE_HTMLは素晴らしいでしょう!
これがPHPの質問であるとすると、以下で推奨されるDOMパーサーが最良の答えのように聞こえますか?考え?