問題タブ [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 に答える
97 参照

php - 角かっこ(BBCodes)の内側にないものすべてに対してコールバックを実行します

私のすべてのBBCodeを強調するために、ちょっとしたコールバックをつなぎ合わせました。正規表現はまだ私にとって大きな痛みであるため、私の年齢を取りました。

しかし今、私は本当に反対のことをしたいと思います:) BBCodes以外のすべてを強調するための正規表現は何でしょうか?

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

php - 正規表現 - 検索で最初に一致したものを参照

私の問題を短いタイトルで説明する方法がよくわからないので、この質問のタイトルが少し誤解を招くものであれば申し訳ありません. しかし、私が探しているものが何と呼ばれているのか、それが可能かどうかさえ本当にわかりません。

正規表現を使用して、HTML の一連の一致するタグの間のすべてを見つけようとしています。静的タグでテストしていたとき、これは簡単でした。\{myTag\}(someExpression)\{\/myTag\}

私の問題は、「myTag」が何でもかまいません。そのテキストが変数の場合、開始タグと終了タグを一致させる方法 (またはそれが可能かどうか) がわかりません。

以前、正規表現でドル記号と数字を使用できる参照システムを見たことがあると思いましたが、これを検索自体で使用できるかどうかはわかりません。

私は当初、おそらく次のようなものを書くことができると思っていました:\{(.*?)\}(someExpression)\{\/${1}\}しかし、これが実際に機能するかどうか、または可能かどうかはわかりません (正しいかどうかは言うまでもありません)。

質問の仕方がよくわからないので、この質問が理にかなっていることを願っています。主な理由は、私が言ったように、これに名前があるかどうか、可能かどうかわからないためです。また、私は正規表現の初心者でもあります。

そして、それが違いを生む場合、私がこれを行っている言語はpreg_replace_callback関数を使用したPHPです。

どんな助けでも大歓迎です。

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

php - Preg コールバックの問題

素晴らしい仲間...私はあなたの助けが必要です..なぜこのコードがコールバック関数に入らないのか教えてください...

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

php - 一度に複数のパターンを置換するpreg_replace

$ subjectに適用する置換はほとんどありませんが、古い置換#(1 .. i-1)からの出力を現在の置換#iと一致させたくありません。

パターンと置換の配列で1つのpreg_replaceを使用してみましたが、すぐに成功することを期待しています。しかし、それは単純なpreg_replaceを連続して呼び出すだけであることが判明しました(もちろんいくつかの最適化を伴う)

preg_replace_callbackについて読んだ後、それは解決策ではないと思います。

何か助けはありますか?

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

php - create_function() と正規表現を理解するのに助けが必要

SO や他のフォーラムを検索して、さまざまな php 関数のドキュメントに出くわした後、ここで見つけた関数 (URL をクリック可能なリンクに変換) を編集して、埋め込みビデオも処理できるようにしようとしましたが、残念ながら私のスキルセットは貧弱で、create_function()これで成功することを完全には理解していないと思います。

だからここに私のスクランブルエッグコードがあります:

また、正しいコードを見せてくれる人を探しているのではなく、コードが機能しない理由と間違っていることを説明してくれる人を探していることに言及する必要があります。お時間をいただきありがとうございます:)

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

php - 正規表現 : preg_replace_callback で HTML タグを無視する

HTMLタグ間のすべてのテキストを取得しようとしています(存在する場合)、それに関数を配置しようとしています..つまり..私のコードは今

今私が欲しいのは:

  1. HTMLタグがある場合 === HTMLタグを返す + strtolower(タグ間のテキスト)。

  2. HTML タグがない場合 === strtolower(すべてのテキスト) を返す


例: ある場合:

戻る


しかし、次のようなHTMLタグがある場合

戻る

0 投票する
4 に答える
5218 参照

php - Preg_replace または preg_replace_callback?

次のような古いシステムを使用するいくつかのページにリンクがあります。

次のような新しいシステムに変換する必要があります。

preg_replace t0 を使用して、必要なものの一部を変更できますが、代わりにクエリ内のアンダースコアを + に置き換える必要もあります。私の現在のコードは次のとおりです。

$2 変数で str_replace を実行したいので、preg_replace_callback を使用してみましたが、うまくいきませんでした。私は何をすべきか?

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

php - preg_replace_callback の置換値を変更する

$matches in replaceContent() は、一致が見つかった場合に次の配列を返します。

現在、私の preg_replace_callback 関数は、一致する値を $matches[0] に置き換えています。私がやろうとしているのは、タグ ($matches[2]) 内のすべてを置き換えると同時に、$matches[1] チェックを実行できるかどうかということです。

ここで正規表現をテストします: http://rubular.com/r/k094nulVd5

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

php - preg_replace_callback 関数の正規表現修正

ストリング :

PREG_REPLACE_CALLBACK コード (PHP) :

出力 ($マッチ) :

要件 : の代わりに{$string this string will output default |ucfirst|strtoupper}を使用したい{$string this string will output default ucfirst|strtoupper}(注意: の前のパイプ記号ucfirstは削除されています);

重要: 出力 (つまり、$matches 配列) は、上記の印刷と同じように見えるはずです。

読んでいただきありがとうございます。

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

php - preg_replace_callback が機能しない、関数が機能しない

私は次のようなものを使用していますが、関数 replace_callback はまったく実行されません

文字列 $body は次のようになります。

私のせいはどこですか

動作しません: