[ Príspevkov: 12 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

Registrovaný: 01.05.05
Príspevky: 13415
Témy: 1494 | 1494
Bydlisko: Bratislava

Riesim taku vec, ze chcem odstranit zo stringu nadbytocne medzery, tj. ked je v stringu dve a viac medzier, ci tabulator, alebo cosi podobne, chcem aby string vo vysledku vyzeral "nejaky text" takze tam bude len jedna medzera..., zaciatok a koniec stringu som zistil ze mozem osetrit cez trim(); ze mi odstrani odtial medzery, ako to spravit v stringu?


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Kód:
preg_replace_all("#(\s)\1+#", "$1", $text);

Cez reg. výrazy by to mohlo ísť takto nejako, len teraz už neviem presne či takto fungujú spätné odkazy v php. Proste metč na biely znak a za ním ďalší rovnaký s plusom (1 a viac výskytov). No a nahradíš tým metčnutým. Snáď by to mohlo fungovať :D


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

Registrovaný: 01.05.05
Príspevky: 13415
Témy: 1494 | 1494
Bydlisko: Bratislava

no toto mi moc nefunguje, na take nieco nie je funkcia priamo v php? lebo aspon mne pride celkom uzitocna taka funkcia, ci? guglim uz pol hodinu a mimo toho trim() som nenasiel nic, asi blbo hladam alebo co :lol:

// Spojený príspevok Sob 04.10.14 12:32

Boze, pridam sem zobrazovanie podobnych clankov a ani sa na ne nepozriem :) tu som to od Stenleyho nasiel ako na to odstranenie-medzier-vt90052.html#p789396


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Mne sa zdá, že som presne toto už raz riešil, ale s ľubovoľnými znakmi. Skús pohľadať v mojích príspevkoch. Po obede sa možno budem nudiť a vyskúšam to, zatiaľ sa potráp :P
//presne to som napísal, ale snažil som sa o všeobecný predpis pre biele znaky ;)

// Spojený príspevok Sob 04.10.14 15:15

A stačí to aj takto a funguje to :)
Kód:
$s = preg_replace( "#(\s)\s+#", "$1",  $text );


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

Registrovaný: 02.06.08
Prihlásený: 19.07.16
Príspevky: 3325
Témy: 147 | 147
Bydlisko: Žilina / Os...

Kód:
str_replace("  ", $string)
, pre tích, ktorý nevedia používať výrazi..to je aj v dokumentácií napísane :D takže to používam :D neviem či som sa trafil do parametrov, pozri php.net ;)


_________________
PC - ASUS M2N-MX Se+ | AMD X2 4200+ | 2GB RAM | Nvidia 8600GT | WD 320GB | 350W |NTB - ASUS K50AB SX-010 | | ASUS X550L | SteelSeries Mousepad | A4tech XL-750BF | HTC Explorer |
CCNA (640-802) |
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

Registrovaný: 01.05.05
Príspevky: 13415
Témy: 1494 | 1494
Bydlisko: Bratislava

BX píše:
Mne sa zdá, že som presne toto už raz riešil, ale s ľubovoľnými znakmi. Skús pohľadať v mojích príspevkoch. Po obede sa možno budem nudiť a vyskúšam to, zatiaľ sa potráp :P
//presne to som napísal, ale snažil som sa o všeobecný predpis pre biele znaky ;)

// Spojený príspevok Sob 04.10.14 15:15

A stačí to aj takto a funguje to :)
Kód:
$s = preg_replace( "#(\s)\s+#", "$1",  $text );

no hej, len to tvoje riesenie mi nefunguje a ani sa mi poprpavde nechce riesit preco, lebo mam plnu hlavu inych veci pri tom co sa snazim spravit, tak som pouzil to od stenleyho to mi ide, riesim registraciu a je chcem osetrit pole na nick/meno aby neobsahovalo nadbytocne medzery :) este ju asi pouzijem pri spravach, robim zoznamovaci portal www.qlp.sk a ani ma nenapada kde by som taku funkciu vobec potreboval, zas nie som nejaky profi koder, mam to len ako hobby, ale asi by som mal pozriet ako ta funkcia funguje, raz niekedy :-) ale dik aj ked teraz pzoeram ze tu si pouzil preg_replace ale predtym preg_replace_all, asi zato mi nefungovala kedze preg_replace_all neexistuje ako pozeram php.net :lol:


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Hej hej, preg_replace_all neexistuje, tiež som zistil :D Ale to posledné čo som napísal mne osobne funguje na všetky biele znaky.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

Registrovaný: 01.05.05
Príspevky: 13415
Témy: 1494 | 1494
Bydlisko: Bratislava

ja som skopcil celu funkciu aj sa mi zdalo ze _all som este nikdy nevidel, len som nepozrel php.net az teraz ked som mrkol tak som zistil ze taka funkcia neexistuje :) bez _all by asi robila to co stenleyho, ale tak to sa mi nechce ani riesit, pouzita je len pri registracii a spravy som este ani necazal programovat, takze to ani neriesim :)


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 20.09.24
Príspevky: 1188
Témy: 198 | 198

Kód:
preg_replace('/\s+/', ' ',$text);

+
Kód:
trim($text)


_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Daemon a co ti to tvoje urobí s newline? ;)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0 | 0

Ak sa výsledok zobrazuje pomocou HTML, tak to nevadí, navyše ani ten tvoj kód by nefungoval správne (ak by boli pred prechodom na nový riadok aj medzery iného druhu). :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 20.09.24
Príspevky: 1188
Témy: 198 | 198

BX, Chrono: Dobra poznamka, nad tym som sa nezamyslal.
Uprimne, vedel som ze mi nieco unika pretoze to co som napisal je elementarny priklad googlitelny vsade.

Rozmyslam ako osetrit ten new line. Zalezi aj este od dalsich kriterii (moze sa na konci riadku nachadzat medzera a nasledne new line ?), avsak v zasade
by asi pomohlo nieco ako pisal BX, akurat pozmenene:
Kód:
$s = preg_replace( "#(\h)\h+#", "$1",  $text );

+
Kód:
$s = preg_replace( "#(\v)\v+#", "$1",  $text );


pricom ale toto je len od PHP 5.2.4 (zdroj), verzie pod jedine asi nejak zlozitejsie


_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
 [ Príspevkov: 12 ] 


Odstranenie nadbytocnych medzier, tabulatorov zo stringu....



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

pridavanie medzier do stringu

v PHP, ASP

7

447

31.01.2009 21:38

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

odstranenie medzier

v PHP, ASP

4

1024

23.04.2010 23:09

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

odstranenie medzier

v PHP, ASP

9

1238

03.09.2008 17:14

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

odstranenie niekolkych medzier aby bola jedna

v Assembler, C, C++, Pascal, Java

4

622

11.01.2010 15:41

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

Externý disk - cyklická kontrola nadbytočných údajov

v Pevné disky a radiče

5

1721

04.04.2015 17:27

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

Cyklicka chyba nadbytocnych údajov minimalizovanie HDD

v Pevné disky a radiče

0

1336

12.04.2012 20:02

kamo_444

V tomto fóre nie sú ďalšie neprečítané témy.

Zistenie poslednych 3ch medzier

v PHP, ASP

5

480

27.02.2009 12:10

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

Vynechanie medzier v reťazci

v Assembler, C, C++, Pascal, Java

2

797

31.01.2012 13:48

street_punk

V tomto fóre nie sú ďalšie neprečítané témy.

zalomenie textu bez medzier

v HTML, XHTML, XML, CSS

6

897

09.03.2009 21:13

pa3ck

V tomto fóre nie sú ďalšie neprečítané témy.

assembler, uz len zistit pocet medzier

v Assembler, C, C++, Pascal, Java

5

1079

06.05.2010 7:27

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Dom z stringu

v JavaScript, VBScript, Ajax

3

473

16.03.2010 20:59

juho

V tomto fóre nie sú ďalšie neprečítané témy.

vycuc zo stringu

v PHP, ASP

4

461

24.05.2009 22:17

Blackdevil

V tomto fóre nie sú ďalšie neprečítané témy.

Pole do stringu

v PHP, ASP

3

432

10.03.2009 17:34

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

java - kontrola stringu

v Assembler, C, C++, Pascal, Java

15

679

16.12.2010 14:22

arnie16

V tomto fóre nie sú ďalšie neprečítané témy.

C - načítanie stringu

v Assembler, C, C++, Pascal, Java

14

1941

17.10.2010 21:33

remus

V tomto fóre nie sú ďalšie neprečítané témy.

C++ kopirovanie stringu

v Assembler, C, C++, Pascal, Java

2

438

14.11.2012 18:09

faraon



© 2005 - 2024 PCforum, edited by JanoF