0

jqueryを使用して選択リストからラベル値を取得し、それを非表示のテキスト入力に書き込んでから、その値をphpテンプレートに表示しようとしています。-(データ内のフィールドに直接アクセスする方法はありません。これが私の回避策です。)

ラベルの値を取得して、非表示にして表示することができます。しかし、ラベルは「-最新ニュース」のようにフォーマットされています。空白とハイフン/マイナス記号を削除したいので、「最新ニュース」が残ります。

通常の機能を試してみても機能しなかったのですが、機能しなかったときに、これらがユニコード文字である可能性がありました。私が以下を使用するとき:

$mycategory = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $mycategory);
$mycategory = htmlentities($mycategory, ENT_QUOTES, "UTF-8");
$mycategory = str_replace("-", "", $mycategory);

echo '<h1>'.$mycategory.'</h1>';

1行目前面のUnicode空白を置き換えました。「-latestnews」を返す2行目:エンティティをhtmlに変更しました3行目:エンティティを削除しました。しかし、それは「最新ニュース」を返します

そのため、trimまたはpreg_replaceを使用して最後のスペースを削除することはできません。私はそれを取り除く方法がわかりません。3行目の検索語に空白を入れると、置換が壊れます。

4

1 に答える 1

1

さて、、、grrr..phpを開かなければなりませんでした:)

 $str = '- Latest news !*#';
 echo preg_replace('/[^[:alnum:]\s]/','',$str);
于 2012-11-01T23:30:40.487 に答える