問題タブ [strtr]

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 に答える
622 参照

objective-c - Objective-C NSString 文字置換

PHPのstrtrに似た文字置換を実行するために取り組んでいるNSStringカテゴリがあります。このメソッドは、文字列を受け取り、各文字が出現するたびに置き換え、同じインデックスを持つfromString文字に置き換えます。toString私は作業方法を持っていますが、それはあまりパフォーマンスが高くなく、より速く、メガバイトのデータを処理できるようにしたいと考えています.

編集(わかりやすくするために):

stringByReplacingOccurrencesOfString:withString:options:range:動作しないでしょう。「ABC」のような文字列を取得する必要があり、「A」を「B」に、「B」を「A」に置き換えた後、「BAC」になります。を連続して呼び出すと、stringByReplacingOccurrencesOfString:withString:options:range:正しくない "AAC" のような文字列が作成されます。

提案は素晴らしいでしょう、サンプルコードはさらに良いでしょう!

コード:

また、このコードは、テキスト ビュー内のテキストが変更されるたびに実行されます。毎回文字列全体が渡されます。もっと良い方法があることは知っていますが、方法がわかりません。これに関する提案は、非常に高く評価されます。

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

php - php-2つの配列をマージし、それらを置き換えます

strtr2つの配列をマージして、テキストを関数に置き換えたいと思います。

以前使っていた

これが返されましたdog bull...

今、私はこのような2つの配列を持っています...

両方の配列には、置き換える値があります

では、どうすればそれらを組み合わせて置き換えることができますか?試し$array = $a + $bてみarray_combineましたが、うまくいきませんでした...

助けてください...

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

preg-match - シンプルな preg_match 正規表現が必要

後でフィルタリングできる文字列として、その間にあるすべてのもの@[anyNumbers:anyNumbers:anyLetters] を削除したいと考えています。 これを達成する最も簡単な方法は何ですか?@[]

戻り値

@[159208207468539:274:One Day without Shoes] (ODWS) キャンペーンについて聞いたことがありますか? ODWS は、8416861761:274:TOMS による毎年のイニシアチブで、一足の靴が子供の生活に与える影響についての認識を高めます。

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

php - 指定された 2 つの配列をマージして置き換えます

このコードに問題があります...

このコードは、2 つの配列をマージし、テキストを置き換えます。これは正常に機能していますが、このコードをユニコード文字で試すと...つまり

うまくいきません。エコーすると配列が結合されますprint_rが、テキストは置き換えられません。

Plzzヘルプ..

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

php - strtr関数が機能しない

大丈夫。うまくいけば...

次のコードで問題が発生しています。strtr機能が動作していません。何も出力しません...

配列はパンジャブ語です。つまり、インド語です。

このコードは完全に機能しています...

Plzzヘルプ..

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

php - preg_replace内でstrtrを使用していますか?

preg_replace 内でpreg_replace()一致を再フォーマットしたいと思います。strtr()出来ますか ?

私は次のことをしました:

私の例では、Z# (私のpreg_replaceマッチに対応し、 の $0 strtr) は Z_ になるはずですが、何も起こりません。

ありがとうございました !

注意してください。$regex は $input の一部に一致する正規表現であり、機能します。

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

php - array_merge & strtr() が機能しない

こんにちは、 に問題がありstrtr()ます。

ユーザーが絵文字を追加し、絵文字の特別なコードを入力して投稿内で呼び出すことができる Web サイトを作成しています。

これは私がやったことであり、ある程度は機能します:

これにより、1 人のユーザーがアップロードした顔文字を含む多次元配列が作成されます。

を使用するstrtr($txt,$table[0])と、配列[0]などで動作しますが、特殊なコードをすべてのサブ配列内およびその周囲にある絵文字に変更したいと考えています。

したがって、私が行ったことは、次のように配列をマージすることです。

すべての SpecialCode => Image フィールドを含む 1 次元配列を取得しました。

しかし、strtr($txt,$oneDim)それで動作しなくなりました。何も表示されていません。

以外の配列をマージするためにいくつかの異なる方法を試しましたcall_user_func_array()が、同じ結果が得られるので心配です。

たぶん、私を助けてくれる人がいるでしょう。とても感謝しています。

ありがとう

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

php - MSQLI リアル エスケープ文字列と STRTR 演算子による PHP サニテーション

次のコードは、SQL と PHP を介してリモート データベースにデータを渡す際のサニテーション メソッドの提案です。

私の質問は、MSQLI 演算子が入力をサニタイズしてから、strtr 演算子を追加してコードを安全にするのか、それともフィールドがまだ脆弱なのかということです。このサニテーションは最初のクエリの後に行われるため、他のオプションはサニタイズされたデータベースに値を渡し、事後に strtr 操作を実行して顧客向けページに情報を出力することです。

より高いレベルのビューでは、ユーザーは MSQLI エスケープ文字列のスラッシュにどの程度注意を払っていますか? 少し魅力に欠けるように見え、評判の悪い人にアプリケーションの構造への洞察を与えると思いますが、アイデアについての意見をいただければ幸いです.

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

php - strtr の動作がおかしい - 文字列から分音記号を削除する

一部の から分音符号を削除するのに苦労してい$stringます。私のコードは

一方、期待される出力はPrilis zlutoucky kun upel dabelske ody.

代わりに、非常に奇妙な応答を受け取ります。

マルチバイト文字に問題がある可能性があると考えていましたが、マルチバイト文字はstrtr安全であることがわかりました。私の仮定は間違っていますか?私は何が欠けていますか?

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

php - strpos が異なる結果を返すのはなぜですか?

特別なアクセント文字 (ă など) を文字列内の a-zA-Z 文字に変換する次の関数があります。

a が元の文字列で、a_translated が翻訳された文字列だとしましょう。

と を使用するstrpos(a, string_to_find)strpos(a_translated, string_to_find)、返される値が異なります。私もチェックstrlen(a)strlen(a_translate)ましたが、それらは異なる結果をもたらします。 なぜこうなった?

アクセント付きの文字列に特定の通常の文字列 (アクセントなし) が含まれているかどうかを検索する必要があるため、この説明が必要ですが、アクセントが含まれている場合でも、元の文字列から見つけた部分を返す必要があります。

私が試し たこと 元の文字列を翻訳し、searched_string の開始位置を見つけてから、 I substr(ORIGINAL_STRING, position). ここで、位置が一致していないことに気付きました。

例: 元の文字列: Universitatea a fost înființată în 2001 pentru a oferi... 検索された文字列: infiintata 目的の結果: înființată în 2001 pentru a oferi...