我有一个脚本,我可以使用substr()或str_replace().随着substr()我只需要切断的最后一个字符,并与str_replace函数我需要更换!什么也没有.哪一个会更快?
我猜substr()?
我知道在php中已经发布了很多关于阿拉伯语的问题,但我无法解决我的问题,因此我发布了这个问题:
我有一个完全用英语运行的PhP网站.现在,我希望它支持多种语言,包括法语,西班牙语,阿拉伯语,但我无法将它们与一个代码一起使用.问题是,我在很多地方使用了substr(),并且翻译后的字符与substr()无法正常工作.我也试过用mb_substsr(),但没用:(
DB中的字段是"utf8_general_ci",我已经放置了标题('Content-type:text/html; charset = UTF-8'); 在我的代码中允许以UTF-8呈现.
问题是我得到"?????" 代替确切的单词或者我用substr()得到错误的单词
请帮忙!!
我到处搜索,但找不到适合我的解决方案.
我有以下内容:
$bedroom_array = array($studio, $one_bed, $two_bed, $three_bed, $four_bed);
Run Code Online (Sandbox Code Playgroud)
对于这个例子,我们说:
$studio = '1';
$one_bed = '3';
$two_bed = '3';
Run Code Online (Sandbox Code Playgroud)
然后我使用implode函数在所有值之间添加逗号:
$bedroom_list = implode(", ", array_filter($bedroom_array));
echo $bedroom_list;
Run Code Online (Sandbox Code Playgroud)
然后输出:
1,2,3
我想要做的是找到字符串中的最后一个逗号并用&替换它,所以它会读取:
1,2和3
字符串不会总是这么长,可以更短或更长,例如1,2,3,4等等.我已经研究过使用substr但是我不确定这是否适用于我需要的东西?
我在一个字符串中有5个希腊字符.在php中使用substr之后输出类似于α .它应该是αβγ.关于编码的任何建议?我试过了
header('Content-type:text/html; charset = utf-8');
没有结果.
<?php
$string = "?????";
$thedoc = substr($string, 0, 3);
echo $thedoc."<br/>";
?>
Run Code Online (Sandbox Code Playgroud) 我有一些文件想以“滑动窗口”的方式分为子字符串,增量为1个字符。这些文件每个只有一行,我可以这样打印子字符串:
input="file.txt"
awk '{print substr($1,1,21)}' $input
awk '{print substr($1,2,21)}' $input
Run Code Online (Sandbox Code Playgroud)
这分别给了我以下输出。
AATAAGGTGCCTGATTAAA-G
ATAAGGTGCCTGATTAAA-GG
Run Code Online (Sandbox Code Playgroud)
输入文件包含约17,000个字符,我设法尝试执行for循环以计算字符并在for循环内尝试上述命令,如下所示:
count=`wc -c ${input} |cut -d' ' -f1`
for num in `seq ${count}`
do
awk '{print substr($1,$num,21)}' $input
done
Run Code Online (Sandbox Code Playgroud)
但这将返回空输出。我还想将其作为bash脚本运行,并在命令行中指定输入和子字符串以及输出文件的大小,例如:
script.sh input_file.txt 21 output.txt
Run Code Online (Sandbox Code Playgroud)
我尝试过,但是也没有用。
input=$1
kmer=$2
output=$3
count=`wc -c ${input} |cut -d' ' -f1`
for num in `seq ${count}`
do
awk '{print substr($1,$num,$kmer)}' $input > $output
done
Run Code Online (Sandbox Code Playgroud)
关于我在做什么错的任何提示?我对awk很陌生...
我正在使用下面的 getExcerpt() 函数来动态设置文本片段的长度。但是,我的 substr 方法目前基于字符数。我想将其转换为字数。我需要单独的函数还是有一个 PHP 方法可以用来代替 substr?
function getExcerpt()
{
//currently this is character count. Need to convert to word count
$my_excerptLength = 100;
$my_postExcerpt = strip_tags(
substr(
'This is the post excerpt hard coded for demo purposes',
0,
$my_excerptLength
)
);
return ": <em>".$my_postExcerpt." [...]</em>";}
}
Run Code Online (Sandbox Code Playgroud) 正如标题所说,我想在不破坏任何单词或 HTML 标签的情况下剪切一个字符串,现在我发现了这个功能可以解决 html 标签问题(我自己稍微修改了)
function substrhtml($str,$start,$len){
$str_clean = substr(strip_tags($str),$start,$len);
if(preg_match_all('/\<[^>]+>/is',$str,$matches,PREG_OFFSET_CAPTURE)){
for($i=0;$i<count($matches[0]);$i++){
if($matches[0][$i][1] < $len){
$str_clean = substr($str_clean,0,$matches[0][$i][1]) . $matches[0][$i][0] . substr($str_clean,$matches[0][$i][1]);
}else if(preg_match('/\<[^>]+>$/is',$matches[0][$i][0])){
$str_clean = substr($str_clean,0,$matches[0][$i][1]) . $matches[0][$i][0] . substr($str_clean,$matches[0][$i][1]);
break;
}
}
return $str_clean;
}else{
return substr($str,$start,$len);
}
}
Run Code Online (Sandbox Code Playgroud)
但它仍然将我不想发生的半句中的单词剪掉,关于如何对此进行排序的任何想法?
一如既往地感谢任何帮助并提前致谢。
我有一个电话号码,将在我的数据库中记录为int(例如1234512312345),但我想在网页上表示为(12345)123 - 12345.如果它是一个字符串我会使用substr但是将它转换为strval似乎不太优雅.
虽然我理解整数和字符串是完全不同的,但是有没有办法在不编写效率低于函数的情况下为此效果做些什么呢?
我观察到以下特征:
l <- "mod, range1 = seq(-m, n, 0.1), range2 = seq(-2, 2, 0.1), range3 = seq(-2, 2, 0.1)"
Run Code Online (Sandbox Code Playgroud)
在RI中使用正则表达式希望l在以下结构中进行拆分:
[1] "mod" "range1 = seq(-m, n, 0.1)"
[3] "range2 = seq(-2, 2, 0.1)" "range3 = seq(-2, 2, 0.1)"
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有找到解决问题的正确方法.任何人都知道怎么可能获得这样一个重要的分裂?
我想将字符串的第一个字符存储在变量中,将其余字符串存储在另一个变量中.例如:
x <- "foo"
prefix <- substr(x, 1, 1)
suffix <- substring(x, 2)
Run Code Online (Sandbox Code Playgroud)
然而,打电话substr和打电话似乎有点浪费substring.有没有办法同时提取子字符串和字符串的其余部分(子字符串和原始字符串之间的"差异")?