For Programmers: Free Programming Magazines  


Home > Archive > PHP SQL > April 2004 > A little help needed









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author A little help needed
ilikepie

2004-04-13, 1:39 pm

Ok first of all. I'll explain what I'm trying to achieve.

This is a little script that will take a post similar to this one, and
from a list of cards from a table in the database, compare it and if
the words match, then it will add a [card]MATCHED WORD[/card] ([card]
tags around the matched word).


--------
if ( !empty(selected_text) )
{
sql =
"SELECT card_name

FROM " . CARDS_TABLE . "

ORDER BY length(card_name) DESC";

if (
!(result =
db->sql_query(sql)) )
{

message_die(GENERAL_ERROR, 'Could not obtain search
results', '', __LINE__, __FILE__, sql);
}

if ( row =
db->sql_fetchrow(result) )
{

i = 0;

do

{

text_arr[i] =
row['card_name'];

selected_text =
eregi_replace(text_arr[i],'[card]'.i.'[/card]',selected_text);


i++;

}

while ( row =
db->sql_fetchrow(result) );


for(j = 0; j < i; j++)

{

selected_text =
str_replace('[card]'.j.'[/card]','[card]'.text_arr[j].'[/card]',selected_text);


}
}

db->sql_freeresult(result);
}
--------

I tested the SQL query and it's not the slow part. Now it's
the eregi_replace. I wanted to use str_replace but it's case
sensitive and str_ireplace is only available in PHP5 (I'm using
PHP4).

So, I need some way to speed up the egeri_replace while loop.

Am I doing this as fast as possible?
Is there any way I could speed this search and replace up?

Can anyone help me?

Sorry if my english is bad.



----------------------------------------
The post originated from PHP Freaks:
----------------------------------------
http://www.phpfreaks.com
http://www.phpfreaks.com/forums


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com