[英]How to change string of variable in php?
我想编辑variable
string
。 但是我做不到。 编码:
$mysite = 'mysite'; //name of site
$myurl = 'http:/mysite.com'; //url of website
$metaauthor = ''; // meta name author;
$metatitle = 'Online CV Builder'; // meta name title
$metacopy = 'Javid Karimov'; // meta name copyright
$metakeywords = 'CV, PDF, ONLINE, RESUME'; // meta name keywords
$allowcv = '2'; // how many cv's user can create
$keyword = 'cv, pdf, resume, create cv online'; // keyword for creating security key
$mailto = 'mail@gmail.com'; // send to mail in contact php
我这样改变(它起作用):
$str = file_get_contents('../sys/sets.php');
//replace something in the file string
$str = str_replace($mysite, $sitenamexx, $str);
$str = str_replace($myurl, $siteurlxx, $str);
$str = str_replace($metaauthor, $metaavtorxx, $str);
$str = str_replace($metacopy, $metacopyxx, $str);
$str = str_replace($metatitle, $metatitlexx, $str);
$str = str_replace($metakeywords, $metakeywxx, $str);
$str = str_replace($allowcv, $allowcvxx, $str);
$str = str_replace($keyword, $keywxx, $str);
$str = str_replace($mailto, $mailtoxx, $str);
//write string
$wok = file_put_contents('../sys/sets.php', $str);
if($wok) {
echo 'Changed<br/>';
}
else {
echo 'Error<br/>';
}
问题:如果string
为空(例如: $mysite = '';
),则它不会更改。 我该如何解决? 可能还有另一种方法吗? 我尝试了fopen()
, fgets()
,这种方式我必须使用array
,但是我无法使用它。
如果您有一个空字符串并尝试替换它,那么您将无法使用它。 这是因为您试图用某物代替任何东西。 这样,它要么什么都不做(它确实是明智的),要么将文件中所有不包含任何内容的实例替换为某种东西,即重复地将某些东西添加到文件中,直到内存用尽。
要执行您要执行的操作,您应该尝试替换整行,例如:
$str = str_replace('$mysite = \'' . $mysite . '\';', '$mysite = \'' . $sitenamexx . '\';', $str);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.