Bug #52198 [Opn->Bgs]: strpos not working correctly
| From: | rasmus@php.net | Date: | Mon, 28 Jun 2010 13:41:52 +0000 |
| Subject: | Bug #52198 [Opn->Bgs]: strpos not working correctly | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-151928@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=52198&edit=1
ID: 52198
Updated by: rasmus@php.net
Reported by: christian dot gnoth at arcor dot de
Summary: strpos not working correctly
-Status: Open
+Status: Bogus
Type: Bug
Package: Strings related
Operating System: Linux
PHP Version: 5.2.13
New Comment:
Based purely on your bug description, you are saying this doesn't work?
<?php
$haystack =
'href="index.php?option=com_content&view=article&id=9257:2009-fha-
loan-limits&catid=52:fha&Itemid=97"';
$needle = 'article&id=';
echo strpos($haystack,$needle);
When I run this I get: 40
which looks correct.
Please simplify your reproduce code and I bet you will find that your
mistake is
elsewhere.
Previous Comments:
------------------------------------------------------------------------
[2010-06-28 12:04:39] christian dot gnoth at arcor dot de
Description:
------------
Hello,
I try to find a string in another string using strpos. If both the
string are passed to the strpos function enclosed in ' it is working
properly and the position is returned. If I put the string - in which
the other string has to be find - in a variable and pass the variable to
the strpos function I get FALSE.
Maybe a problem of character conversion or php configuration????
the website is: joomla-wp.it-gnoth.de
with it-gnoth.de/phpinfo.php your will see the complete configuration.
the string which is to be searched:
href="index.php?option=com_content&view=article&id=9257:2009-fha-loan-limits&catid=52:fha&Itemid=97"
the string which has to be find:
article&id=
below the php source code - both if version get the same result. It goes
always in the else tree.
Test script:
---------------
function j2wp_change_single_url( $j2wp_post, $lnk_pos )
{
global $CON,
$wpdb;
$j2wp_wp_tb_prefix = get_option('j2wp_wp_tb_prefix');
$j2wp_joomla_tb_prefix = get_option('j2wp_joomla_tb_prefix');
$permalink = false;
// $lnk_pos ---> pos at href=" string in post_content
// $post_lnk_end ---> pos at last " in link string of
post_content
// $post_lnk_string ---> contains the whole link string inkl. " at
the end
$post_lnk_end = strpos( $j2wp_post['post_content'], '"',
$lnk_pos + 7);
$post_lnk_string = substr( $j2wp_post['post_content'], $lnk_pos,
$post_lnk_end - $lnk_pos + 1 );
if ( !(strrpos( $post_lnk_string, '/') === false) )
$pos_lnk_last_slash = strrpos( $post_lnk_string, '/');
// urls with structure:
index.php?option=com_content&view=article&id=9257:2009-fha-loan-limits&catid=52:fha&Itemid=97
// if ( !(strpos( $post_lnk_string, 'article&id=') === false) )
if ( $pos_article_id = strpos( $post_lnk_string, 'article&id=') )
{
$pos_article_id += 11;
$article_id = j2wp_extract_number( substr( $post_lnk_string,
$pos_srticle_id ) );
$url_post_id = j2wp_get_post_url_for_id( $article_id );
$permalink = get_permalink( $url_post_id );
}
else
{
......
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52198&edit=1