2016-06-01 10 views
0

文字列の先頭から空きスペースとプラス記号を削除しますPHPを使用します。私はltrimpreg_replaceをいくつかのパターンで試してみましたが、+符号をエスケープしようと試みて、substrstr_replaceも試しました。いずれも、文字列の先頭にプラス記号を削除していません。それを置き換えるのではなく、文字列の全体を再配置/削除します。どんな助けも高く評価されます!私は空きスペースと<code>+</code>記号で始まる文字列を持っている

編集:さらに調査したところ、実際にプラス記号ではないように見えますが、+のように100%のように見えますが、そうではないと思います。どのようにデコード/変換するための任意のアイデア?

編集2:+の前に空白が1つあります。私はget_the_excerpt Wordpress関数を使用して文字列を取得しています。

編集3:に成功substr($s, 2);で空きスペースと+を除去した後、ここで私は今、何を得るのです。

$s == '#43;This is a string[...]' 

はウィキ:私は6つの文字を削除しなければならなかった、私がsubstr($s, 6);を試してみました今はうまくいっています。あなたの助けを借りてくれてありがとう。その文字列、例えばの冒頭に、他のSTHがあることを意味する動作しない場合

+0

どのように使用しましたか?それらのすべてが動作するはずです。 – Rizier123

+1

'$ s = ltrim($ s、 '+')'が機能しない場合、 '+'ではありません。 '$ s = substr($ s、1);'が機能しない場合、あなたは何か非常に間違っているのです –

+0

特定の文字を削除するには、常に 'explode'を使用しますhttp://php.net/manual/en /function.explode.php – Jimmy

答えて

2

LTRIMは

$s = ltrim($s,'+'); 

編集を二番目のパラメータがあります。空白。 var_dump($s);を使用して確認することができます。

+0

答えをありがとうが、それを試してみて、それを置き換えていない。 –

+1

それが置き換えられました。だから多分あなたはあなたが私たちに語ったことを文字列にしていると思うだけです。ちょうど**正確に**あなたがそこに 'var_dump($ s);を持っていることを示してください。 – nospor

+0

それは働いています。 https://3v4l.org/W6tXB – Saty

1

あなたはこのようexplodeを使用することができます。

この関数は実際には、それはあなたが最初の引数として指定した区切り文字を削除し、その区切り文字が見つかり、それらを配置するたびに小さな文字列に文字列を壊すん何
$result = explode('+', $s)[0]; 

配列内の文字列。

これは主に特定の区切り文字の複数の箇所に使用されていますが、あなたの場合にも機能します。例えば

:あなたのケースでそう

$string = "This,is,a,string"; 
$results = explode(',', $string); 
var_dump($results); //prints ['This', 'is', 'a', 'string' ] 

結果が返される配列(つまり、一つだけの要素、明らかにあなたの文字列が含まれています)

1
のゼロインデックスになるとプラス記号がONY表示されますので、ここ

は、私が

str_replace

$string = str_replace('+', '', $string); 
と考えることができますいくつかの異なる方法ですあなたはLTRIM()またはSUBSTR()を使用することができます

preg_replace

$string = preg_replace('/^\+/', '', $string); 

ltrim

$string = ltrim($string, '+'); 

substr

$string = substr($string, 1); 
0

。たとえば :

またはあなたがトリムで複数の文字を削除することができ、この

<?php 
$s = '+This is a string'; 
echo ltrim($s,'+'); 
?> 
1

を使用することができます。おそらく、あなたのトリム機能の結果を再割り当てしていないかもしれません。

<?php 

$s = ' +This is a string[...]'; 
$s = ltrim($s, '+ '); 
print $s; 

出力:

This is a string[...] 

ltrim上記の例では、元の文字列の左側からすべてのスペースと付加文字を除去します。

0

を試してみてください

$output = substr($string, 1); 
関連する問題