Parse error: syntax error, unexpected T_LNUMBER

 更新时间:2016年11月25日 17:40  点击:2334

Parse error: syntax error, unexpected T_LNUMBER

<?php教程
//首先你的变量赋值有问题,在没有进行str_replace()的时候就会报错
$a = '"女老师竭力向孩子们证明,<span>学习好功课的重要性女老师竭<a href="1">2222222222</a>力向孩子们‘证明’,学习好功课的重要性女老师竭力向孩子们证明,学习好功课的重要性女老师竭力向孩子们证明,学习好功课的重要性女老师竭力向孩子们证明,学习好功课的重要性女老师竭力向孩子们证明"';

 <? echo str_replace("",""",$a)

 

失败 提示 $a=""; 错误 Parse error: syntax error, unexpected T_LNUMBER

正确方法

方法一

echo str_replace(array('"',"'","‘","’"),"",$a);

方法二

str_replace("'"“","",$a)

php教程 Undefined index和Undefined variable的解决方法
$act=$_POST['act'];

用以上代码总是提示
Notice: Undefined index: act in F:windsflybookpost.php on line 18

另外,有时还会出现

引用内容
Notice: Undefined variable: Submit ......

等一些这样的提示

原因:由于变量未定义引起的

解决方法:
1) error_reporting设置:
找到error_reporting = E_ALL
修改为error_reporting = E_ALL & ~E_NOTICE

2) register_globals设置:
找到register_globals = Off
修改为register_globals = On

Notice: Undefined variable: email in D:PHP5ENOTEADDNOTE.PHP on line 9
  Notice: Undefined variable: subject in D:PHP5ENOTEADDNOTE.PHP on line 9
  Notice: Undefined variable: comment in D:PHP5ENOTEADDNOTE.PHP on line 9
  ........
  本来php是不需要定义变量的,但是出现这种情况应该怎么办呢?
  只要在C:WINDOWS找出php.ini的
  在php.ini中的302行 error_reporting = E_ALL
  修改成
  error_reporting = E_ALL & ~E_NOTICE再重启apache2.2就行了
  解决方法:修改php.ini
  将: error_reporting = E_ALL
  修改为:error_reporting = E_ALL & ~E_NOTICE
  如果什么错误都不想让显示,直接修改:
  display_errors = Off
  如果你没有php.ini的修改权限,可在php头部加入
  ini_set("error_reporting","E_ALL & ~E_NOTICE");
  即可

 

empty 和 is_null有什么区别?
 
bool empty ( mixed $var )

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 

除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。参见转换为布尔值获取更多信息。 
///////////////////////////////////////////////////////////////////////////////////////////
在下列情况下一个变量被认为是 NULL: 

bool is_null ( mixed $var )

如果 var 是 null 则返回 TRUE,否则返回 FALSE。 


被赋值为 NULL。 

尚未被赋值。 

被 unset()。

Mail Body的来源有时直接就是TextBox中的文本内容,但是如果对文本内容没有做处理的话,文本就会没有任何的格式,挤在一起,逐行显示。现在说的是如何让文本内容可以换行,然后不至于挤在一起。
  单步调试时,会发现获取到的文本内容中,文本中的换行被替换成了"rn",因为一直没有发现这个,导致绕了很大的圈子。既然找到了这个原因的话,就可以将这个字符串替换成HTML的<br/>了。
ex:string strBody = Body.Replace("rn","<br/>");
  虽然很easy,但当时不知道的时候确实很头疼,希望对你也会有用。


实例

<form id="form1" name="form1" method="post" action="">
  <label>
  <textarea name="t" id="t" cols="45" rows="5"></textarea>
  </label>
  <label>
  <input type="submit" name="button" id="button" value="提交" />
  </label>
</form>
<?php教程
 if($_POST){
  echo str_replace(chr(13),'<br>',$_POST['t']);
 
 }
 ?>

更多详细内容请查看:http://www.111cn.net/phper/29/ff8b04e8f5b663b8b86d960321efcc83.htm

 

PHP中iconv函数字符串从GBK转换为UTF8字符集

1. iconv()介绍

iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。

iconv函数在php教程5中内置,GB字符集默认打开。


2. iconv()错误

iconv在转换字符”—”到gb2312时会出错,解决方法是在需要转成的编码后加 “//IGNORE”,也就是iconv函数第二个参数后.如下:

iconv("UTF-8", "GB2312//IGNORE", $data)

ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
3. iconv()例子
例1:
<?php
  echo $str= ‘你好,这里是卖咖啡!’;
  echo '<br />';
  echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
  echo '<br />';
  echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
  print_r(iconv_get_encoding()); //得到当前页面编码信息
  echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
?>
例2:
如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
<?php
  $str='我爱百度';
  $utf='';
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
  echo $utf;
?>如果你的PHP文件是GB的,那么下面的代码可以工作:
<?php
  $str='我爱百度';
  $str=iconv("GBK", "UTF-8", $str);
  $utf='';
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
  echo $utf;
?>以上情况下,程序输出的内容是:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6

[!--infotagslink--]

相关文章