問題タブ [preg-replace]
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 を使用して文字を置き換えます
私は次のことをしようとしています reg_ex 専門家が周りに光を当てることを願っています。コード内の文字 [ を置き換えて { にする必要があります。しかし、 [ を [ のままにし、変更しない必要がある場合があります。だから私がそれを考え出した方法は、私が使用する必要があるということです
preg_replace("[", "{", $string);
関数は、使用するエスケープ文字が前にない [ 文字を返す適切な正規表現を使用します。では、この「[」ではなく、この「[」を置き換えるにはどうすればよいですか?
事前にどうもありがとう
php - preg_replace を使用して CSS を縮小する
preg_replace を使用して複数の CSS ファイルを縮小しようとしています。実際、ファイルから改行/タブとコメントを削除しようとしているだけです。以下は私にとってはうまくいきます:
しかし、次のように、単一の複数行の正規表現でそれを行いたいと思います:
ただし、これはまったく何もしません。これを行う方法はありますか?
編集:わかりましたので、既存のミニファイアを見ていきますが、このような複数行の正規表現をどのように行うかという疑問が残ります。彼らは?
object - preg_replace: 置換の参照オブジェクト
preg_replace の置換部分でオブジェクトを参照する方法を知っていますか。文字列内のプレースホルダー (パーセント記号で区切られている) をオブジェクトの属性の値に置き換えようとしています。これはオブジェクト自体で実行されるので、/e 修飾子を使用して $this を参照するあらゆる方法を試しました。このようなもの:
このテーマのバリエーションを機能させることはできません。私が受け取っているメッセージの 1 つは、オブジェクト Model_User を文字列に変換できません。
しかしもちろん、$this で表されるオブジェクトを文字列に変換するつもりはありません... プレースホルダーに一致するオブジェクトの属性を取得したい (もちろんパーセント記号はありません)。
/e 修飾子で正しい軌道に乗っていると思います。しかし、これについても完全にはわかりません。多分これはもっと簡単に達成できますか?
これについてのアイデアはありますか?前もって感謝します。
php - 正規表現文字列"preg_replace"
CSVファイルの約45k行で「検索と置換」を実行してから、これをデータベースに配置する必要があります。
PHPとpreg_replaceでこれを実行できるはずだと思いましたが、式を理解できないようです...
行は1つのフィールドで構成され、すべて次の形式になっています。
"./1/024/9780310320241/SPSTANDARD.9780310320241.jpg"または"./t/fla/8204909_flat/SPSTANDARD.8204909_flat.jpg"
最初の部分は常にピリオド、2番目の部分は常に1文字の英数字、3番目の部分は常に3文字の英数字、4番目の部分は常に1〜13文字の英数字になります。
私は正しいと思われる次のことを思いつきましたが、正規表現についてはまったく知らないことを公然と公言します。それは私にとって少し新しいことです。私はおそらくここでたくさんのばかげた間違いを犯しています...
とにかく、すべての助けに感謝します!
ありがとう、フィル
sql - 準備済みステートメントの Preg_replace ソリューション
ほとんどすべての特定のデータベース機能を抽象化するコマンド クラスがあります (Mssql 2005 (ODBC とネイティブの mssql ライブラリを使用)、MySQL、および Oracle でまったく同じアプリケーションを実行しています。実行され、すべてのプレースホルダーをそれぞれの値に置き換えます.しかし、問題は、私が次のものを使用していることです:
この問題は、session_browser と session_browse_version のように、2 つ以上の類似したパラメーター名がある場合に発生します。最初のものは最後のものを部分的に置き換えます。
もちろん、特定の順序でパラメーターを指定して回ることを学びましたが、「自由な」時間ができたので、より良くしたいので、preg_replaceに切り替えようと考えています...そして、私は正規表現が苦手です... 、':parameter_name` のような文字列を置き換える正規表現を誰か助けてもらえますか?
よろしく、 ブルーノ・BB・マガリャエス
php - PHPのpreg_replaceで$変数を使用する
うーん...preg_replaceの呼び出しで変数を使用するにはどうすればよいですか?
これは機能しませんでした:
はい、前に$num
プラス記号が付いています。はい、「」したいですtag the $num as <$text/>
。
php - preg_replace() str_replace() アポストロフィの悪夢! - Drupal メニュー画像の置き換え
これが機能しない理由を解読するのを手伝ってくれる人はいますか?
一部の HTML から一重引用符を削除しようとしています...
ありがとう!H
編集 これは完全な機能です。画像を使用して Drupal メニューを再構築するように設計されており、各項目に CSS クラスを適用して、必要な画像を選択できるようにします。スペースとアポストロフィを取り除く必要があります。そうしないと、CSS セレクターが失敗します。
このすべての問題を引き起こしているメニュー項目のタイトルは次のとおりです。
かなり無害だと思います。(そのシングルを除いて ')
編集 サガは続きます...
PHPMYADMIN で次のエラーが表示されることに気付きました。
mbstring PHP 拡張機能が見つかりませんでした。マルチバイト文字セットを使用しているようです。mbstring 拡張機能がないと、phpMyAdmin は文字列を正しく分割できず、予期しない結果になる可能性があります。
これが何か関係あるのかな?
いずれにしても、SQL コードは次のとおりです。
そして、これは次のようにレンダリングされると、FireBug に表示されます。
"What@s New" というメニュー項目を作成しましたが、str_replace() はそれで問題なく動作するので、このアポストロフィがすべてです。私は同意すると思います、表現は機能しますが、それはエンコーディングの問題でなければなりません。これは実際には適切で一般的なアポストロフィであり、亜種の 1 つではありませんが、何らかの理由で PHP はそれをまったく認識できません。
編集 なんてこった - それはまた Drupal だ...すべてのリンクをフォーマットする関数 l() は、出力が書き直されても完全に影響を受けないように見えますか?! いずれにせよ、このコードは機能します...
2時間後、このサイトのテーマ設定を続けることができます...
すべての提案に感謝します。この投稿で drupal スニペットの作成者を紹介します。他の人も恩恵を受けることを願っています。
php - preg_replaceはプロにとって簡単です
私は最初のselect...fromを見つけてそれだけを置き換えたいのですが、次のコードはsqlクエリのすべてのselect..fromを置き換えます。最初のselect..fromが必要です。
php - PHPのpreg_replaceに関する質問
PHPでは、 preg_replace()の$replacementとして\1または$1を使用することの違いは何ですか?
どちらも機能し、まったく同じことをしているように見えますが、ここで何かが欠けていると思います。