Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 21:34 29.06.24 
Компютри и Интернет
   >> PHP
*Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема problem s razglobiavane na stringнови  
Авторsdsdsd (Нерегистриран)
Публикувано19.12.02 03:34



1. ima tekstovo pole + submit, ot koeto usera podava dumi.
2. vsiaka edna podadena duma triabva da se vkara v masiv kato negov element
naprimer: word1 word2 word3

stava na:

$masiv[0] = 'word1'
$masiv[2] = 'word2'
$masiv[3] = 'word3'

kogato usera podade takova nesto: "word1 word2" word3, masiva izglejda taka:

stava na:

$masiv[0] = 'word1 word2'
$masiv[1] = 'word3'

do tuk e lesno :-)

Kogato, obache usera podade: "word1 word2" word3 word4

masiva triabva da stane takyv:

$masiv[0] = 'word1 word2'
$masiv[1] = 'word3'
$masiv[2] = 'word4'

i syotvetno: word1 "word2 word3" word4

masiva stava na:

$masiv[0] = 'word1'
$masiv[0] = 'word2 word3'
$masiv[0] = 'word4'

shte sym mnogo blagodaren, ako niakoi podskaje kak da razdelq taka dumite.



Тема Re: problem s razglobiavane na stringнови [re: sdsdsd]  
Авторanonymous (Нерегистриран)
Публикувано19.12.02 10:42



опитай с explode



Тема трябва ти френски ключнови [re: sdsdsd]  
Автор Dakota (гол на деня)
Публикувано19.12.02 13:32




<?
$str = "yeah \"boob mmooo\" yeah skdjhaksjdh kajshdkjas \"lak sdj lasd\" kjh";
preg_match_all("/(?:\"[^\"]*?\")|[^\s]+/", $str, $m);
echo "<pre>\n\n";
print_r($m);
?>


"Да живееш - значи да се променяш." - Анатол Франс

Редактирано от Dakota на 19.12.02 13:34.



Тема Re: трябва ти френски ключнови [re: Dakota]  
Авторasdasd (Нерегистриран)
Публикувано19.12.02 21:43



nesto ne stava. Az postnah i vyv free-to, no i tam nesto niama uspeh. eto do kade stgnamhme:



<?php
/*
$Masiv=Array();
//$SearchPattern='word1 word2 "word3 word4 word5" word6';
$Temp=split('"',str_replace(' "','"',$SearchPattern));
$Masiv=split(' ',$Temp[0]);
array_push($Masiv,$Temp[1]);
foreach (split(' ',$Temp[2]) as $Remaining)
array_push($Masiv,$Remaining);
*/

//$SearchPattern = "yeah \"boob mmooo\" yeah skdjhaksjdh kajshdkjas \"lak sdj lasd\" kjh";
preg_match_all("/(?:\"[^\"]*?\")|[^\s]+/", $SearchPattern, $m);
echo "<pre>\n\n";
print_r($m);





//vizualizacia
for($i=0;$i<count($Masiv);$i++)
{
echo('$Masiv['.$i.'] = '.$Masiv[$i]."
");
}
?>
<form>
<input type="text" name="SearchPattern"><input type="submit">
</form>



kakto vijdash, 2 varianta sa, samo razkomentirai....
Ideiata e takava:
Tova triabva da e tyrsachka, koiato da pozvoliava na usera da podava stringove ot roda:

maratonki adidas "zelen model 45" obuwki Bylgaria

za da si napravia normalen SQL ot vsichko tfa, triabva da razbia stringa na chasti. Niakoi ima li ideia kak?
10x predvaritelno... :-)))



Тема Re: трябва ти френски ключнови [re: asdasd]  
Автор antipop (!)
Публикувано20.12.02 11:05



Имаш и друг вариант, класически, без regexp(въпреки, че с regexp би трябвло да стане). Правиш един цикъл по дължината на низа. Когато попаднеш на разделител (интервал например) запомняш позицията, и така до следващия разделител, и после *заградения низ* от 2та разделителя го добавяш в масива. Ако попаднеш на кавичка, казваш, аха т'ва е от ония(запазваш си позицията) и чакаш "затварящата" кавичка. Въпросния отрязък -> в масива. Отделно можеш да си проверяваш дали израза е верен, т.е да нямаш незатворени кавички. Може да е банално... но ако върши работа и си зациклил...

If you don't care where you are going any road will get you there


Тема Re: трябва ти френски ключнови [re: asdasd]  
Автор Dakota (гол на деня)
Публикувано20.12.02 14:25



Е как така не става?!

При мен си работи чудесно...я пробвай пак.

"Да живееш - значи да се променяш." - Анатол Франс


Тема Re: трябва ти френски ключнови [re: antipop]  
Авторasdasd (Нерегистриран)
Публикувано20.12.02 14:53



10x, ste opitam i taka. Dori obestavam da postana, ako uspeia :-)



Тема Re: трябва ти френски ключ [re: Dakota]  
Авторasdasd (Нерегистриран)
Публикувано20.12.02 15:02



emi az za da ne zadrystvam i tuka, predlagam koit se interesuva ot cialata taia rabota da pogledne na :


http://free.techno-link.com:8080/phpBB/viewtopic.php?t=15490


tam kato che li nestata sa na pyt da se opraviat :-) :-) :-)



Тема Re: трябва ти френски ключнови [re: asdasd]  
Автор Dakota (гол на деня)
Публикувано20.12.02 17:10



И какво получаваш като изход от това, което ти пратих?

"Да живееш - значи да се променяш." - Анатол Франс


Тема Re: трябва ти френски ключнови [re: Dakota]  
Авторasdasd (Нерегистриран)
Публикувано20.12.02 19:43



e dobre....
eto do kyde ia dokarahme:

Tablica v mysql-a:



#
# Структура на таблица `tablica`
#

DROP TABLE IF EXISTS tablica;
CREATE TABLE tablica (
id int(11) NOT NULL auto_increment,
text text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;


INSERT INTO tablica VALUES (1, 'Тук-там вече отлично осъзнаваха това. Не го разбираха за съжаление само така наречените "призвани". По-специално Людендорф, тогава полковник на големия генерален щаб, сметна за свой дълг да посочи тези слабости в специална докладна записка, предадена от него през 1912 г.; но разбира се, нашите "държавни мъже" не обърнаха ни най-малко внимание на документа. Трезвото разбиране на такива прости неща е типично само за нас, обикновените смъртни; що се касае до господата "дипломати", то те по принцип са неспособни да ги разберат.\r\nЗа Германия беше щастлива случайност, че войната от 1914 г. беше избухнала поради конфликта, в който Австрия беше пряко намесена, така че на Хабсбургите не им оставаше нищо друго, освен да се включат в нея. Ако събитията се бяха развили по друг начин, Германия може би щеше да остане сама. Хабсбургската държава никога нямаше да пожелае, а и не можеше да приеме да участва във война, избухнала непосредствено заради Германия. Това, за което по-късно така жестоко осъждаха Италия, сигурно още по-рано би се случило с Австрия. Австрия би останала "неутрална" и по такъв начин щеше да се опита да се предпази от избухване на революция в навечерието на войната. При такава обстановка австрийското славянство би предпочело още през 1914 година да отхвърли набързо\r\nмонархията, отколкото да допусне Австрия да воюва заради Германия. Но малцина разбираха тогава опасностите и излишните трудности, които Германия си създаваше благодарение на съюзническата политика с Австрия.');
INSERT INTO tablica VALUES (2, 'Достатъчен беше фактът, че Австрия имаше прекалено много врагове, които мечтаеха само за това, колкото се може по-скоро да получат наследството от умиращата хабсбургска държава. Съвсем ясно беше, че след време срещу Германия щеше да се натрупа омраза за това, че в нея виждаха причината, забавяща разпадането на австрийската монархия, разпадане, което всички очакваха с нетърпение с единствената надежда да получат дял от наследството. В края на краищата, всички стигаха до извода, че до виенското наследство могат д се докопат, само ако си разчистят сметките с Берлин. Това беше първо.');





tova e php-to, koeto veroiatno e nai-blizko do celta:



$Masiv=Array();
$Temp=split('"',str_replace(' "','"',$SearchPattern));
$Masiv=split(' ',trim($Temp[0]));
array_push($Masiv,trim($Temp[1]));
foreach (split(' ',trim($Temp[2])) as $Remaining) {
array_push($Masiv,$Remaining);
} // foreach
$Query = "SELECT * FROM `tablica` WHERE ";
foreach ($Masiv as $SearchElement) {
if ($SearchElement!="") $Query.="`text` like '%".$SearchElement."%' AND ";
} // foreach
$Query = substr($Query,0,strlen($Query)-4).";";
if (Substr($Query,-3)=="WH;") {
echo "No Search Pattern Defined.";
} else {
// Primeren SQL (Zameni ECHO s mysql_query()) - Vseki element ot SearchPattern triabva da e v poleto na bazata danni
// Ako iska6 da vrashta rezultat za koia da e duma, zameni AND s OR v $Query
echo $Query;
}




Kogato probvah da zapisha v txt-poleto slednoto nesto:



"отлично осъзнаваха" "Не го разбираха" съжаление само



Znachi ideiata e takava, che prez tekstovoto pole usera moje da podade kakvoto mu dusha iska, a scripta triabva da sglobi podhodiashta sql zaiavka.
Naprimer usera moje da podade

"duma1 duma1 duma1" duma1 "duma1 duma1" duma1 duma1


i vsiakakvi podobni kombinacii. Otdelno e, che moje da pishe + ili -, ama tiah sha gi mislia posle. Prosto niama kak da razglobia stringa na tyrsenite dumi/izraзи. Веоиатно ще стане, но по много брутален начин - а именно: предлойениа по - горе :
намирам символ (интервал или кавичка) и запомниам позицията на вс един от тях и така.....




Страници по тази тема: 1 | 2 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.