問題タブ [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.

0 投票する
1 に答える
578 参照

php - preg_replaceを使用して値を置き換える

私はJoomlaプラグイン(このコンテキストでは重要ではありません)を持っています。これは、大量の数値(テキストの段落内)を含む入力を受け取り、それらを一連のsに置き換えるように設計されています。

私の問題は、$ article-> textに対してpreg_replaceを実行する必要があることですが、一致した用語に変更を適用する方法がわかりません。preg_replace_callbackを見たことがありますが、関数内でそれを呼び出す方法がわかりません。

修正されたコード:

0 投票する
2 に答える
63 参照

php - たまたま挿入された一致を無視して、テキストに複数のリンクを挿入する

私が取り組んでいるサイトには、用語集の用語で満たされたデータベーステーブルがあります。HTMLを取得し、用語集用語の最初のインスタンスをツールチップリンクに置き換える関数を作成しています。

しかし、私は問題にぶつかっています。これは1回の置換ではないため、この関数は前の反復で挿入されたテキストを置換しているため、HTMLが混乱しています。

肝心なのは、次の場合はテキストを無視する必要があると思います。

  • <および>任意のHTMLタグ内に表示される、または
  • <a></a>タグのテキスト内に表示されます。

これが私がこれまでに持っているものです。私はそこに誰かが賢い解決策を持っていることを望んでいました。

0 投票する
3 に答える
4222 参照

php - preg_replace: タグを削除

オプションタグがたくさんあります。タグを削除して、値のみを取得したいと思います。これはコードです:

strip_tags、strip_tags 出力を使用できません:

このコードでは、$result の内容と大量のゴミを取得します。どうしたの?ありがとうございました。

0 投票する
5 に答える
801 参照

php - 大文字と小文字を区別しないpreg_replace_callback

以下の関数では、大文字と小文字を区別しないキーワードに一致させたい(「BlueYogaMats」と「blueyogamats」に一致する必要があります)...

ただし、現在、キーワードが同じ場合にのみ一致します。

$ mykeyword="ブルーヨガマット";

0 投票する
1 に答える
51 参照

php - プレグとの頭の上に少し入る

[realtor:name] または [office:phone] の形式で、html と「タグ」を含む文字列があります。不動産業者の名前が $data['Realtor']['name'] にあり、オフィスの電話が $data['Office']['phone' にあるような (CakePHP で生成された) データベース データの配列があります。 ]。

おそらく preg_replace_callback を使用して、各タグを正しいデータに置き換えて、文字列に対して検索と置換を実行したいと考えています。ただし、私は少し初心者なので、これは私が持っている最も近いものであり、途方もなく遅く、非効率的であると確信しています:

これを実現するためのより良い方法について、誰かが私を助けてくれますか?

0 投票する
3 に答える
780 参照

php - Markdown を使用した下司

GeSHi をマークダウンで動作させようとしています。

Geshi の簡単な使い方は次のとおりです。

上記のコードはメッセージ全体を取り込み、それを強調表示されたコードに変換します

Markdown関数もあります

マークダウンから返されpreg_matchたタグにコールバック関数を使用し、返された値で関数を実行しようとしていました<pre>geshi->parse_code();

これが私のコードです

私は正しい軌道に乗っていますか?

私の正規表現は正しいですか?http://gskinner.com/RegExr/で動作します

助けてくれてありがとう

0 投票する
1 に答える
625 参照

php - preg_replace_callback でのクロージャの問題

$temp_namesこのスクリプトは、テキストのすべての行で「FIRST」および「LAST」の単語をチェックし、それらを配列内のエントリに置き換えようとします。

私はreturn array_shift()閉鎖機能に問題があります。最初のエントリを正しく返しますが、エントリは配列のままです。そのため、毎回「John」と「Doe」が返されます。何故ですか?

ありがとう。

0 投票する
2 に答える
2797 参照

php - preg match and replaceを使用して、olタグ内のliタグを置き換えます

これが私が得たものです:

このphpコードは、ページにolタグのみが含まれている場合はうまく機能しますが、何らかの理由でulタグとolタグの両方が含まれている場合は、ulタグ内のliタグも変更され、olタグ内でのみ置き換えられます。何が問題である可能性があり、どうすれば修正できますか?

0 投票する
2 に答える
895 参照

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でサポートされていませんか?または私は愚かです。

私は知らない。

助けてください!

0 投票する
2 に答える
1478 参照

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'

それはできますか?

ありがとう