文字と数字以外のすべてをphp変数から削除する次のコードを見つけました。完璧です!
$string = "remove ever^&thing but *&^*&%£ letters & numbers*&^*";
$cleansedstring = preg_replace('#\W#', '', $string);
echo $cleansedstring;
しかし、同じルールを使用して mysql の列をクエリしたいと考えています。目的は、式からすべてのアンパサンド、アポストロフィ、ハイフンなどを少し削除することです。
今、私はいくつかの見苦しい REPLACE ステートメントを使用しています!
AND Replace(Replace(Replace(Replace(Replace(MYColumn, '&', ''), '-', ''), ' ', ''), '(', ''), ')', '') =
数字と文字だけを見る防弾クエリが欲しいです!
:)
編集:私は私の問題をさらに説明する必要があると思います.おそらくあなたの1人が何か他のことを提案することができます....
長い会社名を抜き出し、SEO に適した URL にクリーンアップすることで、Web サイト全体のリンクを生成します。たとえば、「Bill & Ben's Flower Pot/Garden Service」があるとします。最終的に彼らのページへの URL は /bill-bens-flower-pot-garden-service.htm のようになります。
その URL は書き換えられた URL なので、実際のページは company.php?name=bill-bens-flower-pot-garden-service のようになります
「名前」を取得してデータベースにクエリを実行し、会社の詳細を返す必要があります。しかし、取得:
ビルベンスフラワーポットガーデンサービス
以下の詳細を返します。
ビル & ベンズ フラワー ポット/ガーデン サービス
常に防弾とは限りません。
あちこちで何回置換を行っているかという点で、コードが少し乱雑になっているように感じます。私の理論は、文字と数値以外のデータをすべて取り除き、文字列をそのように比較することでした:
WHERE Company = 'billbensflowerpotgardenservice' - しかし、フィールド名自体でそれを行うことができないようですか?
助言がありますか!