私の顧客にとっては、カスタムWebベースのWYSIWYG HTMLエディターを作成しました。基本的なHTMLテキストの書式設定や画像の挿入が可能です。彼らが画像を挿入するとき、私は##image1##
のようなパターンでそれらを挿入します。HTMLテキストの文字列パターンをPHPで置き換えます
<p>some text and some more text</p>
<p>some text and some <b>bold text</b></p>
<div>##image1##</div>
<p>more text can follow here</p>
<div>##image2##</div>
遠出このHTMLは、私はトラフそれを検索し、イメージの出現を交換して、実際に画像を表示するHTMLマークアップとその上の##image1##
、##image2##
を交換しています:作成されたHTMLには、このようなものになることができます。マイ置き換えるコードここにある:
// first find all occurrences of image string
preg_match_all('|##(.+)##|', $inputHTML, $matches);
for every match in $inputHTML
$output = preg_replace('|##(.+)##|', $imageHTML, $inputHTML, 1);
これは時代のMOTを動作しますが、入力HTMLのいくつかのバリエーションで奇妙な結果を解析します。奇妙な結果を生成するHTMLの一つは次のとおりです。
<div>##image1##</div><p class="align-justify"><strong>Peter Dekleva</strong>, <strong>Damir Lisica</strong>, <strong>Anej Kočevar</strong> in <strong>Gregor Jakac</strong> so glasbeniki, ki v svoji glasbi združujejo silovite instrumentalne vložke, markantne melodije in močna besedila.</p><div>##image2##</div><p class="align-justify">Video dvojček skladbe Brez strahu torej prikazuje oblico sproščenih trenutkov iz zaodrja, veličasnih posnetkov s koncertnega dogajanja, priprav na nastope, nepredvidljive zaključke noči.</p>
私はそのHTMLを編集し、<div>##image2##</div>
前にラインブレーキを追加した場合、それはOKそれを解析します。何が起こっているのか、なぜ私に問題があるのか?
私はまたこれを行うためのより良い方法のための提案にもオープンしています。私は代わりに何かを挿入することができます##image1##
私のWYSIWYGエディタに画像を挿入するとき...ありがとう
なぜ画像HTMLを挿入してみませんか? – GolezTrol
これは[あなたの他の質問]と同じ問題ではありません(http://stackoverflow.com/questions/9432947/php-replacing-all-occurances-of-certain-string-pattern-in-html-formatted-text)。 )? –
穴の性質のため、アプリケーション...説明するのは難しいですが、そういうわけではありません! –