if(strpos($str, 'ok') !== false) {
//包含
}
//错误的方法
if(strpos($str, 'ok'))
{ ... }
来判断字符串$str内是否含有'ok'在内,但最近发现用这个方式判断一个带'ok'的字符串却没有查找
成功,郁闷的是,这个字符串就是以'ok'开头,怎么可能查找不到呢?
找到strpos函数的定义介绍,srtpos返回查找字符串第一个出
现的位子,这个位置是从0开始算的,比如在'It's
ok!'中,'ok'的位置是5。如果找不到,则返回false。发现问题了:PHP的变量类型都是弱类型的可以随便转换变量类型,0可以看作是整数类
型,也可以看作是布尔类型的false,加入strpos判断到字符串查找位置出现在0这个位置,函数返回0,if语句是把它当0看还是当false看?
看来这正是问题所在。
找到问题,解决方法也就有了,给被查找字符串前面补一位不包含在
关键字内的字符就可
以了,这样只要匹配到,返回结果总会>=1。
<?php
$url1="http://www.163.com";
$url2="www.163.com";
$url3="xxxxhttp://www.163.com";
$rooturl="xxx";
echo "".strrpos($url1,"http://")."\n";
echo "".strrpos($url2,"http://")."\n";
echo "".strrpos($url3,"http://")."\n";
if(strrpos($url1,"http://")!==false && strrpos($url1,"http://")==0){
echo str_ireplace("http://","",$url1)."__1 have \n";
}
if(strrpos($url2,"http://")!==false && strrpos($url2,"http://")==0){
echo "2 have \n";
}
if(strrpos($url3,"http://")!==false && strrpos($url3,"http://")==0){
echo "3 have \n";
}
echo "".$rooturl."\n";
?>
分享到:
相关推荐
本资源“php实现的替换敏感字符串类.zip”提供了一个实用的PHP类,可以帮助开发者有效地管理和处理这类问题。下面将详细介绍这个类库的主要功能和应用场景。 1. **非法字符串检测**: 这个类库包含了对非法字符串...
$source_string = "这是一段包含多个关键词的PHP字符串,我们要替换其中的关键字。"; $find = array("关键词1", "关键词2", "关键词3"); $replace = array("新词1", "新词2", "新词3"); $result = str_replace($...
总结起来,"php 替换敏感字符串类" 提供了一种高效且灵活的方式来处理和过滤可能包含敏感信息的字符串,它可以帮助开发者更好地保护用户数据,防止信息泄露,同时也提高了代码的安全性和可维护性。通过理解这个类的...
以下是对PHP字符串处理的一些核心知识点的详细说明: 1. **创建字符串**: - 单引号:`'Hello World!'`,在单引号中,变量不会被解析。 - 双引号:"Hello $name!",在双引号中,变量会被解析。 - 嵌套引号:可以...
综上所述,PHP的字符串处理功能强大且多样,涵盖字符串长度检测、修剪、替换、分割、连接、格式化、比较以及正则表达式操作等多个方面。通过深入学习和掌握这些函数,开发者可以更加灵活地处理文本数据,提升开发...
在处理大量字符串时,传统的PHP字符串操作可能会变得冗长且难以维护。例如,使用内置函数进行字符串连接、查找、替换等操作。而"php-shorthand"库则提供了更简洁的API,使得这些常见的字符串操作更加直观。 1. **...
在实际应用中,我们可能还需要考虑字符串的编码、字符集以及截取规则(如是否包含结束标记、是否忽略HTML标签等)。例如,当我们处理用户评论或文章预览时,可能会先使用 `strip_tags()` 去除HTML标签,然后使用 `...
PHP字符串是可变的,意味着你可以像数组一样通过索引来访问或修改字符串中的单个字符。索引从0开始。例如: ```php $str = "Hello"; echo $str[0]; // 输出 "H" ``` 2. **substr() 函数**: `substr()` 函数...
在PHP编程中,有时我们需要从一个长字符串中截取特定的部分,这通常涉及到字符串操作。这个压缩包提供了一个专门用于此目的的PHP类,能够帮助开发者高效地提取字符串间的内容。下面将详细介绍这个PHP类的工作原理、...
4. **字符替换**:类可能包含一个方法用于将敏感字符串替换为安全的字符或标记。例如,可以将特殊字符转换为它们的HTML实体表示,防止XSS(跨站脚本)攻击。 实现这样的类,我们需要考虑以下几个关键步骤: - **...
从给定的文件内容中,我们可以提取以下PHP字符串过滤与替换的知识点: 1. 使用nl2br()和br2nl()实现特殊字符的转换。nl2br()函数可以将字符串中的换行符(\n)转换为HTML的 标签,常用于文本显示。相对应地,br2...
字符串处理包括对字符串的各种操作,如转义、编码转换、替换等。正则表达式则是一种强大的文本匹配工具,它允许我们在字符串中搜索、匹配和提取特定的文本模式。 ### 字符串处理 PHP提供了丰富的字符串处理函数,...
- **strnatcmp**: 使用自然排序法比较字符串,对于包含数字的字符串特别有用。 ### 7. 字符串分割与合并 - **explode**: 将字符串分割为数组,使用指定的分隔符。 - **implode** 和 **join**: 将数组元素连接成...
在处理PHP中的JSON字符串时,经常遇到的问题是字符串中包含了不应有的转义字符,特别是反斜杠`\`。这通常发生在通过AJAX传递JSON数据到服务器时,浏览器或者中间件为了转义可能会在数据中加入反斜杠。本内容将详细...
它指的是在选定的目录及其所有子目录下,针对多种文件格式(如txt、html、php等)进行特定字符串的全局替换。这种操作常见于网站代码优化、文本数据分析或者文件整理等场景。 首先,我们需要理解批量替换字符串的...
本文将深入探讨PHP中的一些基本字符串处理技巧,包括转换、过滤、解析、查找、截取、替换、获取、判断和计算等。 1. **字符串清理** - `ltrim()` 函数用于移除字符串左侧的空白字符或其他指定字符。 - `rtrim()` ...
虽然这不是直接创建多行字符串的方法,但可以利用`strtr()`函数进行字符串替换,将占位符替换为多行文本。这在创建模板或格式化输出时很有用: ```php $template = "Line {{1}}\nLine {{2}}"; $replacements = ...
本文档提供了全面的 Python 字符串操作方法汇总,包括但不限于替换、删除、截取、复制、连接、比较、查找、分割等功能。 #### 二、去空格及特殊符号 **功能:** 去除字符串中的空格和特定字符。 - `strip()`:移除...
3. $rep:默认值为'[]',这是用来替换中间字符的字符串,默认为一对方括号内包含省略号。 函数的返回值为处理后的字符串,保留了字符串头部和尾部的部分内容,中间内容则被替换为指定的字符串。 函数的工作原理...