Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno databáze MySQL a selektivní úprava záznamů v tabulce

Dobrý den vespolek,
chtěl bych poprosit, zda by mi někdo nepomohl vytvořit kód pro úpravu záznamů v tabulce databáze MySQL?
Dejme tomu že mám tabulku slovnik, ve které je sloupec pojem, jde o testové buňky. V buňkách sloupce je text podobný tomuto:


Gtanovo pleso leží ve <a href="#v">Vysokých horách</a> nad vesnicí <a href="#k">Karakinců</a>. Karakinci z něj získávají vodu o kterou se nemusí dělit s <a href="#t">Tenebiho</a> kmenem. Pleso vzniklo díky hrázi, kterou postavili předkové Karakinců. Hráz je jednoduché zničit a je nutné ji každý rok opravovat. Předstíráním útoku na Gtanovo pleso odlákal Tenebiho kmen část Karakinců z jejich vesnice, aby mohl být proveden útok na vesnici. (<a href="bibliografie.php?id=46">Cizinec</a> v knize <a href="bibliografie.php?id=7">Na křídlech tornáda</a>, 2004, str. 151)

a já potřebuji z textu selektivně odstranit tagy <a href="bibliografie.php?id=46"> a konec tohoto tagu </a>

Takže by mi mělo zbýt toto:


Gtanovo pleso leží ve <a href="#v">Vysokých horách</a> nad vesnicí <a href="#k">Karakinců</a>. Karakinci z něj získávají vodu o kterou se nemusí dělit s <a href="#t">Tenebiho</a> kmenem. Pleso vzniklo díky hrázi, kterou postavili předkové Karakinců. Hráz je jednoduché zničit a je nutné ji každý rok opravovat. Předstíráním útoku na Gtanovo pleso odlákal Tenebiho kmen část Karakinců z jejich vesnice, aby mohl být proveden útok na vesnici. (Cizinec v knize Na křídlech tornáda, 2004, str. 151)

Pracoval bych přímo v PHPMyAdmin.

Mohl by mě někdo prosím alespoň nasměrovat?

Děkuji

Předmět Autor Datum
Budeš muset použít regularni vyrazy a nahrazování více info třeba tu: https://stackoverflow.com/que…
Jan Fiala 09.08.2023 10:13
Jan Fiala
A dalsi reseni od ChatGPT: Dotaz: code MySQL. I need remove begin and end html tag from table Slov…
Jan Fiala 09.08.2023 10:18
Jan Fiala
komunikaci s ChatGPT jsem zkoušel, ale buď jí to nedokážu vysvětlit, nebo nevím. A tenhle příkaz nef…
Neználek v práci 09.08.2023 10:56
Neználek v práci
Nefunguje v čem? Když jsem dotaz upřesnil, že hodnota ID se může měnit, dostal jsem tohle: UPDATE S…
Jan Fiala 09.08.2023 11:29
Jan Fiala
Děkuji moc. Asi se neumím ptát. ještě to prosím uprav, nebo ať to upraví neuronka tak že v části <a…
Neználek v práci 09.08.2023 12:00
Neználek v práci
Děkuji, nakonec jsem to s dopomocí neuronky dal, ale vypadalo to, že jsem ji musel navést na správno… poslední
Neználek v práci 09.08.2023 15:25
Neználek v práci
a já potřebuji z textu selektivně odstranit tagy <a href="bibliografie.php?id=46"> V úkázce jsi ale…
host 09.08.2023 10:30
host
omluva, je to tak, že potřebuji odstranit všechny tagy <a href="bibliografie....něco">odkazující t…
Neználek v práci 09.08.2023 10:48
Neználek v práci

A dalsi reseni od ChatGPT:

Dotaz:

code MySQL. I need remove begin and end html tag from table Slovnik field Pojem and let only text inside tag. Tags are always same
<a href="bibliografie.php?id=46">test inside tag</a>

UPDATE Slovnik
SET Pojem = TRIM(BOTH '<a href="bibliografie.php?id=46">' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(Pojem, '</a>', 1), '>', -1));

komunikaci s ChatGPT jsem zkoušel, ale buď jí to nedokážu vysvětlit, nebo nevím.
A tenhle příkaz nefunguje, respektive nefunguje jak já chci. Asi jsem v tomhle slabý, ale potřebuju té neuronce vysvětlit, že nejde jen o text uvnitř tagu, ale je třeba zachovat i text "okolo". Prostě jen odstranit tagy a to ještě navíc selektivně.
Zatím to vypadá, že budu 900 řádků upravovat ručně.

Nefunguje v čem?
Když jsem dotaz upřesnil, že hodnota ID se může měnit, dostal jsem tohle:

UPDATE Slovnik
SET Pojem = REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(Pojem, '>', -1), '<', 1), '&lt;', '<')
WHERE Pojem LIKE '<a href="%">%</a>';

Když jsem ho požádal, aby to přepsal za použití regulárních výrazů, dostal jsem tento kód:

UPDATE Slovnik
SET Pojem = REGEXP_REPLACE(Pojem, '<a href="bibliografie.php\\?id=[0-9]+">([^<]+)</a>', '\\1')
WHERE Pojem REGEXP '<a href="bibliografie.php\\?id=[0-9]+">([^<]+)</a>';

Děkuji moc.
Asi se neumím ptát.

ještě to prosím uprav, nebo ať to upraví neuronka tak že v části <a href="bibliografie.php\\?id=[0-9]+"> může být <a href="bibliografie... cokoli">

já jsem už asi zkoušel příliš mnoho a pletu tam všechno možné, takže nevím zda tam může být prostě "%" ?

Díky

a já potřebuji z textu selektivně odstranit tagy <a href="bibliografie.php?id=46">

V úkázce jsi ale odstranil

<a href="bibliografie.php?id=46">

a zároveň

<a href="bibliografie.php?id=7">

Takže co vlastně potřebuješ? Nicméně řešením budou regulární výrazy, jak radil předřečník.

Zpět do poradny Odpovědět na původní otázku Nahoru