$len=mb_strlen("いろはにほ");
var_dump($len);
int 5
$str1 = 'あかいいぬとみどりのいぬはすきですか。'; $str2 = str_replace('いぬ', 'タヌキ', $str1); echo $str2; // → あかいタヌキとみどりのタヌキはすきですか。
if(strpos('ヤンバルクイナX','クイナ')!==false){
echo '存在する';
}
$str=mb_substr('あいうえお',0,1);
var_dump($str);
string 'あ' (length=3)
$str=mb_substr('あいうえお',0,3);
var_dump($str);
string 'あいう' (length=9)
$str=mb_substr('あいうえお',-1);
var_dump($str);
string 'お' (length=3)
$str=mb_substr('あいうえお',-3);
var_dump($str);
string 'うえお' (length=9)
<?php
$str = "赤いキツネと緑のキツネはうどんではない。";
$str2 = stringLeft($str,'キツネ');
echo $str.'<br>';
echo $str2.'<br>';
/**
* 文字列を左側から印文字を検索し、左側の文字を切り出す。
* @param $s 対象文字列
* @param $mark 印文字
* @return 印文字から左側の文字列
*/
function stringLeft($s,$mark){
if ($s==null || $s==""){
return $s;
}
$a=strpos($s,$mark);
if($a==null && $a!==0){
return "";
}
$s2=substr($s,0,$a);
return $s2;
}
?>
赤いキツネと緑のキツネはうどんではない 赤い
$str = "赤いキツネと緑のキツネはうどんではない。";
$str2 = stringRight($str,'キツネ');
echo $str.'<br>';
echo $str2.'<br>';
/**
* 文字列を左側から印文字を検索し、右側の文字を切り出す。
* @param $s 対象文字列
* @param $mark 印文字
* @return 印文字から右側の文字列
*/
function stringRight($s,$mark){
if ($s==null || $s==""){
return $s;
}
$a=strpos($s,$mark);
if($a==null && $a!==0){
return "";
}
$s2=substr($s,$a + strlen($mark),strlen($s));
return $s2;
}
?>
赤いキツネと緑のキツネはうどんではない と緑のキツネはうどんではない
<?php
$str = "赤いキツネと緑のキツネはうどんではない。";
$str2 = stringLeftRev($str,'キツネ');
echo $str.'<br>';
echo $str2.'<br>';
/**
* 文字列を右側から印文字を検索し、左側の文字を切り出す。
* @param $s 対象文字列
* @param $mark 印文字
* @return 印文字から左側の文字列
*/
function stringLeftRev($s,$mark){
if ($s==null || $s==""){
return $s;
}
$a = strrpos($s,$mark);
if($a==null && $a!==0){
return "";
}
$s2=substr($s,0,$a);
return $s2;
}
?>
赤いキツネと緑のキツネはうどんではない。 赤いキツネと緑の
<?php
$str = "赤いキツネと緑のキツネはうどんではない。";
$str2 = stringRightRev($str,'キツネ');
echo $str.'<br>';
echo $str2.'<br>';
/**
* 文字列を右側から印文字を検索し、右側の文字を切り出す。
* @param $s 対象文字列
* @param $mark 印文字
* @return 印文字から右側の文字列
*/
function stringRightRev($s,$mark){
if ($s==null || $s==""){
return $s;
}
$a = strrpos($s,$mark);
if($a==null && $a!==0){
return "";
}
$s2=substr($s,$a + strlen($mark),strlen($s));
return $s2;
}
?>
赤いキツネと緑のキツネはうどんではない。 はうどんではない。
$str_a="いろはにほ";
$str=mb_substr($str_a,0,mb_strlen($str_a)-1);
echo $str;
いろはに
$str = mb_substr('大タヌキ',1); // 先頭の一文字を削る→タヌキ
echo mb_strimwidth("いろはにほへとちりぬのをわかよたれそつねならむ", 0, 10, "...");
echo mb_strimwidth("Over the mountains, far to travel, people say, Happiness dwells", 0, 10, "...");
いろは... Over th...
$hoge = ucfirst('neko');
echo $hoge; // → Neko
$tblName="nekos";
$tblName = mb_substr($tblName,0,mb_strlen($tblName)-1);
$tblName = ucfirst($tblName);
echo $tblName;// → Neko
ソースコード
$text = "XXテスト漢字ネコテストAAA";
$str1 = getHasami($text,'漢字','テスト');
var_dump($str1);
/**
* 2つの印文字に挟まれた文字を取得する
* @param string $targetStr 対象文字列
* @param string $mark1 印文字1
* @param string $mark2 印文字2
* @return 印文字1と印文字2に挟まれた文字列
*/
function getHasami($targetStr,$mark1,$mark2){
$a1 = mb_strpos($targetStr,$mark1) + mb_strlen($mark1);
$a2 = mb_strpos($targetStr,$mark2,$a1);
$hasami = mb_substr($targetStr,$a1,$a2-$a1);
return $hasami;
}
出力
string 'ネコ' (length=6)
ソースコード
$text = "XXテスト漢字ネコテストAAA";
$str2 = replaceHasami($text,'漢字','テスト','abc');
var_dump($str2);
/**
* 2つの印文字に挟まれた文字を置換する
* @param string $targetStr 対象文字
* @param string $mark1 印文字1
* @param string $mark2 印文字2
* @param string $replaceStr 置き換え文字
* @return 置換後の文字
*
* @note
* 印文字が対象文字に存在しない場合は、置換は行わず、対象文字をそのまま返す。
*/
function replaceHasami($targetStr,$mark1,$mark2,$replaceStr){
if(empty($targetStr)){
return $targetStr;
}
$a1 = mb_strpos($targetStr,$mark1);
if($a1===false){
return $targetStr;
}
$markLen1 = mb_strlen($mark1);
$s1 = mb_substr($targetStr,0,$a1 + $markLen1);
$targetStrLen = mb_strlen($targetStr);
$s2 = mb_substr($targetStr,$a1 + $markLen1);
$a2 = mb_strpos($s2,$mark2);
if($a2===false){
return $targetStr;
}
$s2 = mb_substr($s2,$a2);
$s3 = $s1.$replaceStr.$s2;
return $s3;
}
出力
string 'XXテスト漢字abcテストAAA' (length=32)