私はPHPで「Wiki Game」をやっています。/wiki/something
で始まる文字列のすべてのリンクを一致させたいと考えています。たとえば、/wiki/Chiffrement_RSA
または/wiki/OSS_117_:_Le_Caire,_nid_d%27espions
です。私はREGEXについてのいくつかのthigsを知っているので、私は構造体です。もし誰かが私を助けることができたら、それはいいだろう。 時間のために、私はちょうど持っている\/wiki\/*
... あなたの助けに感謝!REGEXで特定のリンクを選択する
0
A
答えて
0
。 このコードを使用して、配列にリンクを保持するかどうかを確認します(DOMDocumentでHTMLを解析して、すべて<a>
を取得します)ので、strposの代わりにpreg_match()
ソリューションが最適です。 ご協力いただきありがとうございます!
2
あなたは正規表現またはstrposにより行うことができます:\/wiki\/([^ ]+)
:私は最終的に、この正規表現でCody.codeの答えを選んだ
<?php
$mystring = 'abc';
$find = '/wiki/';
$statusLink = strpos($mystring, $find);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($statusLink === false) {
echo "Not the link that you want";
} else {
echo "You found the link";
}
//or by explode
$link = explode('/', $originalLink);
if ($link[1] == 'wiki' && isset($link[2])){
//is your link
}
?>
1
パターン内で\K
を使用すると、出力配列のサイズを50%減らすことができます。これは、キャプチャグループの必要性を排除し、 "fullstrings"配列に必要な部分文字列を配置します。
パターン:
\/wiki\/\K[^ ]+
\K
は "ここからfullstringの試合を開始" と言います。これはメモリの無駄を意味しません。それは微調整かもしれませんが、私はそれがベストプラクティスであると信じており、より多くの人々がそれを使用すべきだと思います。
関連する問題
- 1. 特定のリンクをhrefで選択する
- 2. regexで特定のパターンですべてのURLを選択する
- 3. 特定のハッシュを持つリンクを選択する
- 4. 特定の属性を持つリンクを選択する
- 5. 生成選択で特定の列を選択する
- 6. 特定の属性で選択する
- 7. リンクされたSQL Serverから特定の列を選択
- 8. Regex help、特定のアンカーテキストとのリンクを取得する
- 9. 特定のテーブルを選択
- 10. 選択メニューから特定の行を選択する - PHP/Mysql
- 11. OpenXML特定の列を選択する
- 12. 特定の選択の子ではない要素を選択
- 13. 特定年のパンダ選択
- 14. mongorc.jsで特定のデータベースを選択
- 15. clangで特定のlibstdC++バージョンを選択
- 16. RESTで特定のデータを選択
- 17. Gridviewで特定の行を選択
- 18. UIScrollviewで特定の画像を選択
- 19. 選択する特定のデータは
- 20. Regex - 選択しますが、
- 21. (REGEX);選択の反転、
- 22. jQueryは、選択肢で「選択」された特定の選択肢を選択します。
- 23. 特定の場所で特定の文字を選択する方法
- 24. jquery特定のクラスを持つリンクを除くすべてのリンクを選択します。
- 25. PHP Regex本文からの特定のリンクの抽出
- 26. SFrameの特定の行を選択
- 27. Ionic 2の特定のタブを選択
- 28. グラフ上の特定の値を選択
- 29. Influxdb特定のシャードのデータを選択
- 30. ステータスページ特定のFacebookアカウントで選択されている選択を表示
strposを以下のように使用することをお勧めします。しかし、正規表現を使いたい場合、これは最初のスペースまですべてをキャッチし、次に\/wiki \ /([^] +)が機能します。正規表現のテストに興味がある場合は、http://regexr.comを試してみてください。 –