問題タブ [preg-replace-callback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - preg_replaceを使用して値を置き換える
私はJoomlaプラグイン(このコンテキストでは重要ではありません)を持っています。これは、大量の数値(テキストの段落内)を含む入力を受け取り、それらを一連のsに置き換えるように設計されています。
私の問題は、$ article-> textに対してpreg_replaceを実行する必要があることですが、一致した用語に変更を適用する方法がわかりません。preg_replace_callbackを見たことがありますが、関数内でそれを呼び出す方法がわかりません。
修正されたコード:
php - たまたま挿入された一致を無視して、テキストに複数のリンクを挿入する
私が取り組んでいるサイトには、用語集の用語で満たされたデータベーステーブルがあります。HTMLを取得し、用語集用語の最初のインスタンスをツールチップリンクに置き換える関数を作成しています。
しかし、私は問題にぶつかっています。これは1回の置換ではないため、この関数は前の反復で挿入されたテキストを置換しているため、HTMLが混乱しています。
肝心なのは、次の場合はテキストを無視する必要があると思います。
<
および>
任意のHTMLタグ内に表示される、または<a></a>
タグのテキスト内に表示されます。
これが私がこれまでに持っているものです。私はそこに誰かが賢い解決策を持っていることを望んでいました。
php - preg_replace: タグを削除
オプションタグがたくさんあります。タグを削除して、値のみを取得したいと思います。これはコードです:
strip_tags、strip_tags 出力を使用できません:
このコードでは、$result の内容と大量のゴミを取得します。どうしたの?ありがとうございました。
php - 大文字と小文字を区別しないpreg_replace_callback
以下の関数では、大文字と小文字を区別しないキーワードに一致させたい(「BlueYogaMats」と「blueyogamats」に一致する必要があります)...
ただし、現在、キーワードが同じ場合にのみ一致します。
$ mykeyword="ブルーヨガマット";
php - プレグとの頭の上に少し入る
[realtor:name] または [office:phone] の形式で、html と「タグ」を含む文字列があります。不動産業者の名前が $data['Realtor']['name'] にあり、オフィスの電話が $data['Office']['phone' にあるような (CakePHP で生成された) データベース データの配列があります。 ]。
おそらく preg_replace_callback を使用して、各タグを正しいデータに置き換えて、文字列に対して検索と置換を実行したいと考えています。ただし、私は少し初心者なので、これは私が持っている最も近いものであり、途方もなく遅く、非効率的であると確信しています:
これを実現するためのより良い方法について、誰かが私を助けてくれますか?
php - Markdown を使用した下司
GeSHi をマークダウンで動作させようとしています。
Geshi の簡単な使い方は次のとおりです。
上記のコードはメッセージ全体を取り込み、それを強調表示されたコードに変換します
Markdown関数もあります
マークダウンから返されpreg_match
たタグにコールバック関数を使用し、返された値で関数を実行しようとしていました<pre>
geshi->parse_code();
これが私のコードです
私は正しい軌道に乗っていますか?
私の正規表現は正しいですか?http://gskinner.com/RegExr/で動作します
助けてくれてありがとう
php - preg_replace_callback でのクロージャの問題
$temp_names
このスクリプトは、テキストのすべての行で「FIRST」および「LAST」の単語をチェックし、それらを配列内のエントリに置き換えようとします。
私はreturn array_shift()
閉鎖機能に問題があります。最初のエントリを正しく返しますが、エントリは配列のままです。そのため、毎回「John」と「Doe」が返されます。何故ですか?
ありがとう。
php - preg match and replaceを使用して、olタグ内のliタグを置き換えます
これが私が得たものです:
このphpコードは、ページにolタグのみが含まれている場合はうまく機能しますが、何らかの理由でulタグとolタグの両方が含まれている場合は、ulタグ内のliタグも変更され、olタグ内でのみ置き換えられます。何が問題である可能性があり、どうすれば修正できますか?
php - PHP Preg_Replaceデータをタグ間で置き換え、ドキュメント内の他のタグを尊重します
これにはおそらく非常に簡単な答えがありますが、私が明確にする必要がないように、できるだけ詳細に説明したいと思います。
私はすべてのコンテンツを収集しようとしています
コンテンツは後方参照()として返される必要があります$1
。contentとdivの両方に異なるパラメーター(などstyle="color: white;"
)があります。これらのパラメータは重要ではありませんが、それでも存在します。
複雑なのは、divに子divが含まれている可能性があることです。これらは重要ではありませんが、私の現在の正規表現と矛盾します-試合を早期に停止します。
これがコードのサンプルです。このコピー/貼り付けが数回行われ、フォーマットが異なることを想像してください。
現在、2つの正規表現コードを使用しています。1つは宣言用で、もう1つは終了タグ用です。これは機能しますが、コンテンツに対してコードを実行する必要があります。そこで、を使用preg_replace_callback()
しますが、真ん中がコールバックになるように2つを接続する方法がわかりません。
宣言:
閉鎖:
これらを組み合わせて、内容をコールバックとして返す必要があります。私は絶対にすべてを返すのようなものを試しまし([\w\W]{0,})
たが、この試合は終了divで停止しません。
\bFULLWORD\b
それで、私はコマンドについて知り、それを投げ\bdiv\b
ました...しかし、私はそれを機能させることに成功しませんでした。おそらくそれはPHPでサポートされていませんか?または私は愚かです。
私は知らない。
助けてください!
php - preg_replace_callback() を使用して HTML の文字列からすべての画像を抽出する
ここでトリッキーな preg_replace_callback 関数 - 確かに、私は PRCE 式が得意ではありません。
HTML の文字列からすべての img src 値を抽出し、img src 値を配列に保存し、さらに img src パスをローカル パス (リモート パスではない) に置き換えようとしています。つまり、他の多くの HTML に囲まれている可能性があります。
img src='http://www.mysite.com/folder/subfolder/images/myimage.png'
myimage.png を配列に抽出し、さらに src を次のように変更します。
src='images/myimage.png'
それはできますか?
ありがとう