0

次の文字列をchar"|"で分割したい しかし、私は次のエラーが発生しました、何かアイデアはありますか?

エラー:

Warning: split() [function.split]: REG_EMPTY in E:\AppServ\www\admin\panelActions\editApplication.php on line 39

ストリング :

|../../filesBank/_screenshots/com.beem.project.beem_screenshot_0.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_1.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_2.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_3.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_4.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_5.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_6.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_7.jpg

コード:

$__screenShots = split("|", $requestRow['appImages']);
4

4 に答える 4

6

についてPHPDOCを形成するsplit

この関数は、PHP5.3.0で非推奨になりました。この機能に依存することは強くお勧めしません。

試す

$string = '|../../filesBank/_screenshots/com.beem.project.beem_screenshot_0.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_1.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_2.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_3.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_4.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_5.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_6.jpg|../../filesBank/_screenshots/com.beem.project.beem_screenshot_7.jpg' ;
var_dump(explode("|", $string));

出力

array
  0 => string '' (length=0)
  1 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_0.jpg' (length=67)
  2 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_1.jpg' (length=67)
  3 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_2.jpg' (length=67)
  4 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_3.jpg' (length=67)
  5 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_4.jpg' (length=67)
  6 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_5.jpg' (length=67)
  7 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_6.jpg' (length=67)
  8 => string '../../filesBank/_screenshots/com.beem.project.beem_screenshot_7.jpg' (length=67)

*それでも使用したい場合split*

これがあなたの使い方です

$string = split("[|]", $string);
var_dump($string);

split() [function.split]: REG_EMPTYこのように使ってみたので手に入れることができます

   $string = split("|", $string);
于 2012-09-26T14:36:06.987 に答える
2

正規表現フレーバーに関する関数を使用する場合は、ここで特殊文字を使用していることを実際に理解する必要があります。

|---選択(別名交互または集合和集合)演算子は、演算子の前の式または後の式のいずれかに一致します。たとえば、abc|def一致"abc"または"def"

POSIX基本正規表現構文

あなたがしたいのはリテラル|文字を取ることなので、それをエスケープする必要があります:

split('\\|', ...)

explode分割関数は非推奨になり(POSIXフレーバーの正規表現関数) 、ケースで非常によく似たものを実現できることに注意してください。そうでない場合は、を使用しますpreg_split

于 2012-09-26T14:42:20.863 に答える
0

explode()関数を使用してみてください-ほぼ同じ

于 2012-09-26T14:35:13.753 に答える
0

警告、[関数] split()[は、 39行目の[ファイル] E:\ AppServ \ www \ admin \ panelActions\editApplication.phpで]REG_[が]EMPTYであることを示しています。

したがって、空の正規表現は使用しないでください。

于 2012-09-26T14:36:50.743 に答える